Closed maniax89 closed 6 years ago
on a separate note, it would be really nice if the .forceignore
file was honored for AuraDefinitionBundle
s -> https://salesforce.stackexchange.com/questions/200173/sfdx-forcesourcepush-does-not-allow-forceignore-for-auradefinitionbundle
I am tying this in to this issue because we could potentially leverage a similar feature for this test
directory on source:convert
-ing - either allowing the commandline to take a set of globs to ignore or just utilize a .forceignore
file
@maniax89 could to try this. I had written this blob for a slightly different usecase but think it may help you as well.
Approach 1: LTS tests have a dependency on LTS package. In some scenarios, user may just wish to deploy the dev code without having to satisfy this additional package dependency. As LTS tests only need to be deployed when the user wants to run the tests, user should be be able to control this by putting the tests metadata in a different directory and controlling what needs to be deployed via sfdx-project.json
"packageDirectories": [ { "path": "force-app/main", "default": true }, { "path": "force-app/test" } ]
Easy way to do this is via following commands in “sfdx-oss-plugin” sfdx waw:project:pdir:delete -p force-app/test Skip the test directory when not needed sfdx waw:project:pdir:create -p force-app/test Add it back
Approach 2 : An alternate way is to create a .forceignore file and add the files/directories you would like to ignore during push.
I think your second comment is regarding Approach 2. I'll touch base with the sfdx cli team on what you described and get you a response.
Hi @maniax89, I tried this out for my project, and I am seeing that the .forceignore is respected during force:source:convert. I have my project structure similar to yours, and I added test to my .forceignore. After converting, I see that everything in my test directory is not included in the resulting directory. Will you please let me know if including test works for you? Otherwise I will create a bug.
@ashpurik yes you are correct - .forceignore
is honored during the source:convert
- however, it is also honored on source:push
, so I would have to have a separate .forceignore
created when pushing vs when converting. This is why I suggested having a commandline tool to augment the existing .forceignore
@esalman-sfdc yes - your solution works. thanks for the help
So in the future if I have more package directories that I would like to include with the source:convert
, I have to utilize the sfdx waw:project:pdir:create -p force-app/my_package
commands?
I can close this issue as resolved
When attempting to setup the project structure like the following:
Everything works great for running tests and pushing source like
sfdx force:source:push
However, when I do
sfdx force:source:convert
, it includes thetest
path and all its pieces as well.My
sfdx-project.json
looks like this:is there any way to continue including the test package for the
sfdx force:source:push
command but exclude it when runningsfdx force:source:convert
?