victorabraham
4/4/2020 - 6:31 AM

NPSP Scratch org setup

#!/bin/bash

# Make sure that you have set an org as default dev hub. Usually your production environment will be your devhub environment.
#sfdx force:config:set defaultdevhubusername=productionUsernameHere

echo "Creating scratch org"
sfdx force:org:create -s -f config/project-scratch-def.json -a myScratchOrg -d 30
sfdx force:org:open

# Before running below line, copy content from inner folders in the github location - 
# https://github.com/SalesforceFoundation/NPSP/tree/master/unpackaged/pre
# and create a single folder "npsp-dependencies" with account, opportunity object files and a combined package.xml
echo "Deploying pre dependency for NPSP packages"
sfdx force:mdapi:deploy -w 100 -d  ./npsp-dependencies -u myScratchOrg

echo "(1/6) NPSP Installing Contacts & Organizations 3.7.05"
echo "y" | sfdx force:package:install -p 04t80000000gYcfAAE -w 15 -u myScratchOrg

echo "(2/6) NPSP Installing Household 3.9.0.8"
echo "y" | sfdx force:package:install -p 04t80000000jYrOAAU -w 15 -u myScratchOrg

echo "(3/6) NPSP Installing Affiliations 3.6.0.5"
echo "y" | sfdx force:package:install -p 04t80000001AVBMAA4 -w 15 -u myScratchOrg

echo "(4/6) NPSP Installing Relationships 3.6.0.5"
echo "y" | sfdx force:package:install -p 04t80000000tpCGAAY -w 15 -u myScratchOrg

echo "(5/6) NPSP Installing Recurring Donations 3.10.0.4"
echo "y" | sfdx force:package:install -p 04t80000000tpCBAAY -w 15 -u myScratchOrg

echo "(6/6) NPSP Installing Nonprofit Success Pack 3.116.0.5"
echo "y" | sfdx force:package:install -p 04t1Y000001I8yUQAS -w 15 -u myScratchOrg

echo "if any installation failed, retry it by running corresponding command."

echo "pushing package code"

sfdx force:source:push -f