Compare commits

...
Author SHA1 Message Date
evanbacon cad9578c22 Merge branch 'main' into @evanbacon/builds/dev-support 2022-12-08 14:52:07 -06:00
evanbacon 7b21f9d802 unify 2022-12-08 14:51:16 -06:00
evanbacon 2f7d857bec wip 2022-12-08 14:47:58 -06:00
evanbacon 7994a2b33e Update provisioningProfile.ts 2022-12-08 14:32:26 -06:00
8 changed files with 31 additions and 15 deletions

No files matched your search

+6
View File
@@ -16530,6 +16530,12 @@
"inputFields": null,
"interfaces": null,
"enumValues": [
{
"name": "DEVELOPMENT",
"description": "",
"isDeprecated": false,
"deprecationReason": null
},
{
"name": "INTERNAL",
"description": "",
@@ -34,6 +34,7 @@ export default class BuildList extends EasCommand {
}),
distribution: Flags.enum({
options: [
BuildDistributionType.DEVELOPMENT,
BuildDistributionType.STORE,
BuildDistributionType.INTERNAL,
BuildDistributionType.SIMULATOR,
@@ -15,6 +15,7 @@ import { ApplePlatform } from './constants';
import { getCertificateBySerialNumberAsync, transformCertificate } from './distributionCertificate';
export enum ProfileClass {
Development = 'development',
Adhoc = 'ad_hoc',
General = 'general',
}
@@ -38,26 +39,29 @@ function resolveProfileTypeAppleTv(
profileClass: ProfileClass,
isEnterprise?: boolean
): ProfileType {
if (profileClass === ProfileClass.Development) {
return ProfileType.TVOS_APP_DEVELOPMENT;
} else if (profileClass === ProfileClass.Adhoc) {
return ProfileType.TVOS_APP_ADHOC;
}
if (isEnterprise) {
return profileClass === ProfileClass.Adhoc
? ProfileType.TVOS_APP_ADHOC
: ProfileType.TVOS_APP_INHOUSE;
return ProfileType.TVOS_APP_INHOUSE;
} else {
return profileClass === ProfileClass.Adhoc
? ProfileType.TVOS_APP_ADHOC
: ProfileType.TVOS_APP_STORE;
return ProfileType.TVOS_APP_STORE;
}
}
function resolveProfileTypeIos(profileClass: ProfileClass, isEnterprise?: boolean): ProfileType {
if (profileClass === ProfileClass.Development) {
return ProfileType.IOS_APP_DEVELOPMENT;
} else if (profileClass === ProfileClass.Adhoc) {
return ProfileType.IOS_APP_ADHOC;
}
if (isEnterprise) {
return profileClass === ProfileClass.Adhoc
? ProfileType.IOS_APP_ADHOC
: ProfileType.IOS_APP_INHOUSE;
return ProfileType.IOS_APP_INHOUSE;
} else {
return profileClass === ProfileClass.Adhoc
? ProfileType.IOS_APP_ADHOC
: ProfileType.IOS_APP_STORE;
return ProfileType.IOS_APP_STORE;
}
}
@@ -225,6 +229,7 @@ export async function createProvisioningProfileAsync(
const profile = await Profile.createAsync(context, {
bundleId: bundleIdItem.id,
name: profileName,
// TODO: Development should probably contain multiple certs.
certificates: [certificate.id],
devices: [],
profileType,
@@ -100,6 +100,8 @@ async function validateProvisioningProfileWithAppleAsync(
applePlatform,
buildCredentials.iosDistributionType === IosDistributionType.AdHoc
? ProfileClass.Adhoc
: buildCredentials.iosDistributionType === IosDistributionType.Development
? ProfileClass.Development
: ProfileClass.General
);
@@ -10,6 +10,8 @@ export const buildDistributionTypeToGraphQLDistributionType = (
return DistributionType.Internal;
} else if (buildDistribution === BuildDistributionType.SIMULATOR) {
return DistributionType.Simulator;
} else if (buildDistribution === BuildDistributionType.DEVELOPMENT) {
return DistributionType.Development;
} else {
return undefined;
}
+1 -1
View File
@@ -113,7 +113,7 @@
"markdownDescription": "The channel is a name we can give to multiple builds to identify them easily. [Learn more](https://docs.expo.dev/eas-update/how-eas-update-works/)\n\n**This field only applies to the EAS Update service**, if your project still uses Classic Updates then use the [releaseChannel](https://docs.expo.dev/build-reference/eas-json/#releasechannel) field instead."
},
"distribution": {
"enum": ["internal", "store"],
"enum": ["internal", "store", "development"],
"description": "The method of distributing your app. Learn more: https://docs.expo.dev/build/internal-distribution/",
"markdownDescription": "The method of distributing your app.\n\n- `internal` - with this option you'll be able to share your build URLs with anyone, and they will be able to install the builds to their devices straight from the Expo website. When using `internal`, make sure the build produces an APK or IPA file. Otherwise, the shareable URL will be useless. [Learn more](https://docs.expo.dev/build/internal-distribution/)\n- `store` - produces builds for store uploads, your build URLs won't be shareable.",
"markdownEnumDescriptions": [
+1 -1
View File
@@ -11,7 +11,7 @@ const CacheSchema = Joi.object({
const CommonBuildProfileSchema = Joi.object({
credentialsSource: Joi.string().valid('local', 'remote').default('remote'),
distribution: Joi.string().valid('store', 'internal').default('store'),
distribution: Joi.string().valid('store', 'development', 'internal').default('store'),
cache: CacheSchema,
releaseChannel: Joi.string().regex(/^[a-z\d][a-z\d._-]*$/),
channel: Joi.string().regex(/^[a-z\d][a-z\d._-]*$/),
+1 -1
View File
@@ -5,7 +5,7 @@ export enum CredentialsSource {
REMOTE = 'remote',
}
export type DistributionType = 'store' | 'internal';
export type DistributionType = 'store' | 'internal' | 'development';
export type IosEnterpriseProvisioning = 'adhoc' | 'universal';