-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.xml
107 lines (93 loc) · 4.3 KB
/
build.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
<project basedir="." xmlns:sf="antlib:com.salesforce">
<taskdef
resource="com/salesforce/antlib.xml"
classPath="lib/ant-salesforce.jar"
uri="antlib:com.salesforce"/>
<property environment="env"/>
<!-- track what's inside the static resources and zip on deploy -->
<target name="bundleStaticResources">
<!-- <zip destfile="src/staticresources/<name>.resource"
basedir="resource-bundles/<name>.resource" /> -->
</target>
<target name="unbundleStaticResources">
<!-- <unzip
src="src/staticresources/<name>.resource"
dest="resource-bundles/<name>.resource"
/> -->
</target>
<target name="setNames">
<replace file="src/package.xml" token="@@@SALESFORCE_PACKAGE_NAME@@@"
value="${env.SALESFORCE_PACKAGE_NAME}"/>
<replace file="src/package.xml" token="@@@SALESFORCE_PACKAGE_NAMESPACE@@@"
value="${env.SALESFORCE_PACKAGE_NAMESPACE}"/>
</target>
<target name="deploy" description="Deploys the code to salesforce.com">
<antcall target="setNames" />
<!-- remove files which can't be deployed -->
<delete file="src/layouts/SocialPost-Social Post Layout.layout"/>
<antcall target="bundleStaticResources" />
<sf:deploy username="${env.SALESFORCE_USERNAME}"
password="${env.SALESFORCE_PASSWORD}"
serverurl="${env.SALESFORCE_URL}"
deployRoot="src"/>
</target>
<target name="test" description="Test without saving to salesforce">
<echo message="Testing deployment..."/>
<antcall target="setNames" />
<!-- remove files which can't be deployed -->
<delete file="src/layouts/SocialPost-Social Post Layout.layout"/>
<antcall target="bundleStaticResources" />
<sf:deploy username="${env.SALESFORCE_USERNAME}"
password="${env.SALESFORCE_PASSWORD}"
serverurl="${env.SALESFORCE_URL}"
deployRoot="src"
checkOnly="true"/>
</target>
<target name="refresh" description="Refresh from org">
<sf:retrieve username="${env.SALESFORCE_USERNAME}"
password="${env.SALESFORCE_PASSWORD}"
serverurl="${env.SALESFORCE_URL}"
retrieveTarget="src"
unpackaged="src/package.xml"/>
<!-- this file can't be deployed -->
<delete file="src/layouts/SocialPost-Social Post Layout.layout"/>
<antcall target="unbundleStaticResources" />
</target>
<target name="refreshFromPackage" description="Refresh from org">
<sf:retrieve username="${env.SALESFORCE_USERNAME}"
password="${env.SALESFORCE_PASSWORD}"
serverurl="${env.SALESFORCE_URL}"
retrieveTarget="src"
packageNames="${env.SALESFORCE_PACKAGE_NAME}"/>
<!-- this file can't be deployed -->
<delete file="src/layouts/SocialPost-Social Post Layout.layout"/>
<antcall target="unbundleStaticResources" />
</target>
<!--
Usually you want to version what packages are installed but can't or
don't want to deploy them when you are making other code changes so
we separate them out into their own folder/commands. For managed
package development you want to track your dependencies and want
everyone using the same versions for development.
-->
<target name="refreshInstalledPackages" description="Refresh managed packages from org">
<sequential>
<sf:retrieve
username="${env.SALESFORCE_USERNAME}"
password="${env.SALESFORCE_PASSWORD}"
serverurl="${env.SALESFORCE_URL}"
retrieveTarget="installedPackages"
unpackaged="installedPackages/package.xml"/>
<!-- remove packages we can't control -->
<delete file="installedPackages/installedPackages/sf_com_apps.installedPackage"/>
<delete file="installedPackages/installedPackages/sf_chttr_apps.installedPackage"/>
</sequential>
</target>
<target name="installPackages" description="Install ">
<sf:deploy
username="${env.SALESFORCE_USERNAME}"
password="${env.SALESFORCE_PASSWORD}"
serverurl="${env.SALESFORCE_URL}"
deployRoot="installedPackages"/>
</target>
</project>