diff --git a/jenkins_jobs/modules/builders.py b/jenkins_jobs/modules/builders.py
index 98bdbeacd..3a74185a7 100644
--- a/jenkins_jobs/modules/builders.py
+++ b/jenkins_jobs/modules/builders.py
@@ -3070,6 +3070,10 @@ def xcode(registry, xml_parent, data):
(default '')
:arg str keychain-unlock: Unlocks the keychain during use.
(default false)
+ :arg str bundle-id: The bundle identifier (App ID) for this provisioning
+ profile (default '')
+ :arg str provisioning-profile-uuid: The UUID of the provisioning profile
+ associated to this bundle identifier. (default '')
Example:
@@ -3135,6 +3139,22 @@ def xcode(registry, xml_parent, data):
]
convert_mapping_to_xml(xcode, data, mapping, fail_required=True)
+ has_provisioning_profiles = bool(data.get('provisioning-profiles'))
+ XML.SubElement(xcode, 'manualSigning').text = str(
+ has_provisioning_profiles or False).lower()
+ if has_provisioning_profiles:
+ provisioning_profiles_xml = XML.SubElement(
+ xcode, 'provisioningProfiles')
+ mapping = [
+ ('bundle-id', 'provisioningProfileAppId', ''),
+ ('provisioning-profile-uuid', 'provisioningProfileUUID', '')
+ ]
+ for provisioning_profile in data.get('provisioning-profiles'):
+ provisioning_profile_xml = XML.SubElement(
+ provisioning_profiles_xml, 'au.com.rayh.ProvisioningProfile')
+ convert_mapping_to_xml(provisioning_profile_xml,
+ provisioning_profile, mapping, fail_required=True)
+
def sonatype_clm(registry, xml_parent, data):
"""yaml: sonatype-clm
diff --git a/tests/builders/fixtures/xcode.xml b/tests/builders/fixtures/xcode.xml
index 7d987caef..2c7cedd56 100644
--- a/tests/builders/fixtures/xcode.xml
+++ b/tests/builders/fixtures/xcode.xml
@@ -30,6 +30,7 @@
false
+ false
849b07cd-ac61-4588-89c8-b6606ee84946
@@ -63,6 +64,17 @@
/Users/jenkins/Library/Keychains/jenkins-uasdk-ios-pre_review
testpass
true
+ true
+
+
+ foo
+ bar
+
+
+ foo2
+ bar2
+
+
diff --git a/tests/builders/fixtures/xcode.yaml b/tests/builders/fixtures/xcode.yaml
index 1ec30c7e9..39333ba7d 100644
--- a/tests/builders/fixtures/xcode.yaml
+++ b/tests/builders/fixtures/xcode.yaml
@@ -22,3 +22,8 @@ builders:
keychain-path: "/Users/jenkins/Library/Keychains/jenkins-uasdk-ios-pre_review"
keychain-password: "testpass"
keychain-unlock: true
+ provisioning-profiles:
+ - bundle-id: foo
+ provisioning-profile-uuid: bar
+ - bundle-id: foo2
+ provisioning-profile-uuid: bar2