shipthis 0.1.37 → 0.1.39
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +38 -33
- package/assets/markdown/ship-success.md.ejs +4 -0
- package/dist/{AppleBundleIdDetails-KMzyex1H.js → AppleBundleIdDetails-Ck7iAjMb.js} +3 -3
- package/dist/{Command-CHh8RDXK.js → Command-C84QiOWP.js} +1 -1
- package/dist/{CommandGame-Rvmsa7b0.js → CommandGame-CsM9GE5Q.js} +2 -2
- package/dist/{Create-DInZ_pw-.js → Create-Dx1nEKmS.js} +1 -1
- package/dist/{GameStatus-D7ID10tS.js → GameStatus-B4WBgoLs.js} +1 -1
- package/dist/{Import-BmO8EYKj.js → Import-BC5XgwRT.js} +2 -2
- package/dist/{JobLogTail-CYdceTKL.js → JobLogTail-mBXpeWMu.js} +2 -2
- package/dist/{JobProgress-DBCYbWrO.js → JobProgress-KZ6EkMFi.js} +14 -8
- package/dist/{JobStatusTable-DhnhY1_i.js → JobStatusTable-BYIxTt0d.js} +2 -2
- package/dist/{ProjectCredentialsTable-BDYVYqAq.js → ProjectCredentialsTable-DSy1YIWX.js} +2 -2
- package/dist/{UserCredentialsTable-cDPvjF-F.js → UserCredentialsTable-qNByRE84.js} +1 -1
- package/dist/{baseAppleCommand-CQ5dOna7.js → baseAppleCommand-CdROzhyU.js} +1 -1
- package/dist/{baseGameAndroidCommand-D4ryZS6A.js → baseGameAndroidCommand-B21zS0MN.js} +1 -1
- package/dist/commands/apiKey/create.js +2 -2
- package/dist/commands/apiKey/list.js +2 -2
- package/dist/commands/apiKey/revoke.js +2 -2
- package/dist/commands/apple/apiKey/create.js +5 -5
- package/dist/commands/apple/apiKey/delete.js +3 -3
- package/dist/commands/apple/apiKey/export.js +4 -4
- package/dist/commands/apple/apiKey/import.js +4 -4
- package/dist/commands/apple/apiKey/status.js +3 -3
- package/dist/commands/apple/certificate/create.js +5 -5
- package/dist/commands/apple/certificate/delete.js +3 -3
- package/dist/commands/apple/certificate/export.js +4 -4
- package/dist/commands/apple/certificate/import.js +4 -4
- package/dist/commands/apple/certificate/status.js +3 -3
- package/dist/commands/apple/login.js +1 -1
- package/dist/commands/apple/status.js +2 -2
- package/dist/commands/dashboard.js +1 -1
- package/dist/commands/game/android/apiKey/connect.js +7 -7
- package/dist/commands/game/android/apiKey/create.js +9 -9
- package/dist/commands/game/android/apiKey/delete.js +3 -3
- package/dist/commands/game/android/apiKey/export.js +5 -5
- package/dist/commands/game/android/apiKey/import.js +5 -5
- package/dist/commands/game/android/apiKey/invite.js +2 -2
- package/dist/commands/game/android/apiKey/policy.js +2 -2
- package/dist/commands/game/android/apiKey/status.js +5 -5
- package/dist/commands/game/android/keyStore/create.js +6 -6
- package/dist/commands/game/android/keyStore/delete.js +3 -3
- package/dist/commands/game/android/keyStore/export.js +4 -4
- package/dist/commands/game/android/keyStore/import.js +7 -7
- package/dist/commands/game/android/keyStore/status.js +4 -4
- package/dist/commands/game/android/status.js +1 -1
- package/dist/commands/game/build/download.js +2 -2
- package/dist/commands/game/build/list.js +3 -3
- package/dist/commands/game/create.js +2 -1
- package/dist/commands/game/details.js +8 -5
- package/dist/commands/game/export.js +1 -1
- package/dist/commands/game/ios/app/addTester.js +3 -3
- package/dist/commands/game/ios/app/create.js +2 -2
- package/dist/commands/game/ios/app/status.js +5 -5
- package/dist/commands/game/ios/app/sync.js +3 -3
- package/dist/commands/game/ios/profile/create.js +5 -5
- package/dist/commands/game/ios/profile/delete.js +3 -3
- package/dist/commands/game/ios/profile/export.js +4 -4
- package/dist/commands/game/ios/profile/import.js +4 -4
- package/dist/commands/game/ios/profile/status.js +5 -5
- package/dist/commands/game/ios/status.js +7 -7
- package/dist/commands/game/ios/wizard.js +9 -8
- package/dist/commands/game/job/list.js +2 -2
- package/dist/commands/game/job/status.js +5 -5
- package/dist/commands/game/list.js +2 -2
- package/dist/commands/game/ship.js +23 -11
- package/dist/commands/game/status.js +4 -4
- package/dist/commands/game/wizard.js +19 -18
- package/dist/commands/internal/fastlane.js +1 -1
- package/dist/commands/internal/readme.js +1 -1
- package/dist/commands/login.js +1 -1
- package/dist/commands/status.js +2 -2
- package/dist/{export-DujIwhJw.js → export-BtUjg3Tl.js} +1 -1
- package/dist/{import-DGCqCAcC.js → import-BYSkF-tX.js} +1 -1
- package/dist/{index-BPh_qt7t.js → index-CcGRePRU.js} +4 -4
- package/dist/{index-9LxGafAo.js → index-CgGLBt2v.js} +3 -3
- package/dist/{index-CmuXyPed.js → index-Cv-92xRd.js} +12 -5
- package/dist/{index-CNsmEDXi.js → index-Du6l7ZyV.js} +1 -1
- package/dist/{upload-D4x4yCia.js → upload-LoVBuJbT.js} +1 -1
- package/dist/{useAppleApp-taaewPSf.js → useAppleApp-Bg0x6s97.js} +1 -1
- package/dist/{useAppleBundleId-BeGViMe7.js → useAppleBundleId-CEOssLqN.js} +1 -1
- package/dist/{useAppleProfiles-1TtO0aO6.js → useAppleProfiles-CHf_gHdZ.js} +1 -1
- package/dist/{useGoogleStatus-CSsxEvX7.js → useGoogleStatus-Ch36GbVo.js} +1 -1
- package/dist/{useProjectCredentials-Cm50WMZU.js → useProjectCredentials-CsQWPdyo.js} +1 -1
- package/dist/{useWebSocket-BVfn36be.js → useWebSocket-CWeaaLqi.js} +1 -1
- package/docs/game/details.md +13 -10
- package/docs/game/ship.md +37 -13
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import fs__default from 'node:fs';
|
|
2
2
|
import path from 'node:path';
|
|
3
3
|
import { Args, Flags } from '@oclif/core';
|
|
4
|
-
import { ac as BaseCommand, ad as ejs } from '../../index-
|
|
4
|
+
import { ac as BaseCommand, ad as ejs } from '../../index-Cv-92xRd.js';
|
|
5
5
|
import CustomHelp from '../../utils/help.js';
|
|
6
6
|
import 'axios';
|
|
7
7
|
import 'crypto-js';
|
package/dist/commands/login.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Flags } from '@oclif/core';
|
|
2
2
|
import axios from 'axios';
|
|
3
|
-
import { W as WEB_URL, ac as BaseCommand, ai as acceptTerms,
|
|
3
|
+
import { W as WEB_URL, ac as BaseCommand, ai as acceptTerms, t as API_URL, aj as setAuthToken, c as getInput } from '../index-Cv-92xRd.js';
|
|
4
4
|
import 'node:fs';
|
|
5
5
|
import 'crypto-js';
|
|
6
6
|
import 'uuid';
|
package/dist/commands/status.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { render } from 'ink';
|
|
3
|
-
import { ac as BaseCommand, o as isCWDGodotGame } from '../index-
|
|
3
|
+
import { ac as BaseCommand, o as isCWDGodotGame } from '../index-Cv-92xRd.js';
|
|
4
4
|
import 'ink-spinner';
|
|
5
5
|
import 'node:crypto';
|
|
6
6
|
import 'node:fs';
|
|
@@ -29,7 +29,7 @@ import 'marked';
|
|
|
29
29
|
import 'marked-terminal';
|
|
30
30
|
import { N as NextSteps } from '../NextSteps-DbJHmscQ.js';
|
|
31
31
|
import 'qrcode';
|
|
32
|
-
import { C as Command } from '../Command-
|
|
32
|
+
import { C as Command } from '../Command-C84QiOWP.js';
|
|
33
33
|
import chalk from 'chalk';
|
|
34
34
|
import '@expo/apple-utils/build/index.js';
|
|
35
35
|
import 'isomorphic-git';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as fs from 'node:fs';
|
|
2
2
|
import axios from 'axios';
|
|
3
|
-
import {
|
|
3
|
+
import { t as API_URL, u as getAuthedHeaders } from './index-Cv-92xRd.js';
|
|
4
4
|
|
|
5
5
|
async function exportCredential({ credentialId, projectId, zipPath }) {
|
|
6
6
|
const headers = getAuthedHeaders();
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { promises } from 'node:fs';
|
|
2
2
|
import axios from 'axios';
|
|
3
|
-
import {
|
|
3
|
+
import { t as API_URL, u as getAuthedHeaders } from './index-Cv-92xRd.js';
|
|
4
4
|
|
|
5
5
|
async function getNewImportTicket(projectId) {
|
|
6
6
|
const url = projectId ? `${API_URL}/projects/${projectId}/credentials/import/url` : `${API_URL}/credentials/import/url`;
|
|
@@ -8,7 +8,7 @@ import 'node:path';
|
|
|
8
8
|
import 'node:readline';
|
|
9
9
|
import 'node:url';
|
|
10
10
|
import 'readline-sync';
|
|
11
|
-
import { a0 as cacheKeys,
|
|
11
|
+
import { a0 as cacheKeys, u as getAuthedHeaders, t as API_URL, aw as castObjectDates, X as queryClient, a5 as revokePolicy, a4 as enforcePolicy, P as Platform, C as CredentialsType, a2 as getGoogleStatus, R as GameContext, at as useSafeInput, au as Markdown, f as getShortDate } from './index-Cv-92xRd.js';
|
|
12
12
|
import axios from 'axios';
|
|
13
13
|
import 'isomorphic-git';
|
|
14
14
|
import '@oclif/core';
|
|
@@ -19,9 +19,9 @@ import 'uuid';
|
|
|
19
19
|
import 'yazl';
|
|
20
20
|
import 'socket.io-client';
|
|
21
21
|
import 'fullscreen-ink';
|
|
22
|
-
import { u as useWebSocket } from './useWebSocket-
|
|
23
|
-
import { u as useProjectCredentials } from './useProjectCredentials-
|
|
24
|
-
import { u as useGoogleStatus } from './useGoogleStatus-
|
|
22
|
+
import { u as useWebSocket } from './useWebSocket-CWeaaLqi.js';
|
|
23
|
+
import { u as useProjectCredentials } from './useProjectCredentials-CsQWPdyo.js';
|
|
24
|
+
import { u as useGoogleStatus } from './useGoogleStatus-Ch36GbVo.js';
|
|
25
25
|
import 'crypto-js';
|
|
26
26
|
import 'string-length';
|
|
27
27
|
import 'strip-ansi';
|
|
@@ -12,7 +12,7 @@ import 'readline-sync';
|
|
|
12
12
|
import 'luxon';
|
|
13
13
|
import 'axios';
|
|
14
14
|
import 'isomorphic-git';
|
|
15
|
-
import { av as getShortAuthRequiredUrl, ax as getGoogleAuthUrl, R as GameContext, at as useSafeInput, W as WEB_URL, au as Markdown } from './index-
|
|
15
|
+
import { av as getShortAuthRequiredUrl, ax as getGoogleAuthUrl, R as GameContext, at as useSafeInput, W as WEB_URL, au as Markdown } from './index-Cv-92xRd.js';
|
|
16
16
|
import '@oclif/core';
|
|
17
17
|
import '@tanstack/react-query';
|
|
18
18
|
import 'crypto-js';
|
|
@@ -20,8 +20,8 @@ import 'uuid';
|
|
|
20
20
|
import 'fast-glob';
|
|
21
21
|
import 'yazl';
|
|
22
22
|
import 'socket.io-client';
|
|
23
|
-
import { u as useGoogleStatus } from './useGoogleStatus-
|
|
24
|
-
import { u as useWebSocket } from './useWebSocket-
|
|
23
|
+
import { u as useGoogleStatus } from './useGoogleStatus-Ch36GbVo.js';
|
|
24
|
+
import { u as useWebSocket } from './useWebSocket-CWeaaLqi.js';
|
|
25
25
|
import 'fullscreen-ink';
|
|
26
26
|
import 'string-length';
|
|
27
27
|
import 'strip-ansi';
|
|
@@ -62,7 +62,9 @@ const DEFAULT_IGNORED_FILES_GLOBS = [
|
|
|
62
62
|
"*.translation",
|
|
63
63
|
".mono/**",
|
|
64
64
|
"data_*/**",
|
|
65
|
-
"mono_crash.*.json"
|
|
65
|
+
"mono_crash.*.json",
|
|
66
|
+
"*.apk",
|
|
67
|
+
"*.aab"
|
|
66
68
|
];
|
|
67
69
|
const PRIMARY_DOMAIN = "shipth.is";
|
|
68
70
|
function getUrlsForDomain(domain) {
|
|
@@ -426,7 +428,7 @@ const GODOT_CAPABILITIES = [
|
|
|
426
428
|
];
|
|
427
429
|
function getGodotProjectCapabilities(platform) {
|
|
428
430
|
const exportPresets = getGodotExportPresets(platform);
|
|
429
|
-
const
|
|
431
|
+
const options = exportPresets.options || {};
|
|
430
432
|
const capabilities = [];
|
|
431
433
|
for (const capability of GODOT_CAPABILITIES) {
|
|
432
434
|
if (!(capability.key in options)) continue;
|
|
@@ -985,7 +987,11 @@ class BaseCommand extends Command {
|
|
|
985
987
|
}
|
|
986
988
|
async setProjectConfig(config) {
|
|
987
989
|
const configPath = this.getProjectConfigPath();
|
|
988
|
-
|
|
990
|
+
const clean = {
|
|
991
|
+
...config,
|
|
992
|
+
project: config.project ? { id: config.project.id } : void 0
|
|
993
|
+
};
|
|
994
|
+
await fs__default.promises.writeFile(configPath, JSON.stringify(clean, null, 2));
|
|
989
995
|
}
|
|
990
996
|
async updateProjectConfig(update) {
|
|
991
997
|
const config = await this.getProjectConfig();
|
|
@@ -1899,7 +1905,8 @@ const DetailsFlags = {
|
|
|
1899
1905
|
gcpServiceAccountId: Flags.string({ char: "c", description: "Set the GCP service account ID" }),
|
|
1900
1906
|
iosBundleId: Flags.string({ char: "i", description: "Set the iOS bundle ID" }),
|
|
1901
1907
|
name: Flags.string({ char: "n", description: "The name of the game" }),
|
|
1902
|
-
semanticVersion: Flags.string({ char: "s", description: "Set the semantic version" })
|
|
1908
|
+
semanticVersion: Flags.string({ char: "s", description: "Set the semantic version" }),
|
|
1909
|
+
useDemoCredentials: Flags.string({ char: "d", description: "Use demo credentials for this project" })
|
|
1903
1910
|
};
|
|
1904
1911
|
|
|
1905
|
-
export { getAuthToken as $, ApiKey as A, BaseAuthenticatedCommand as B, CredentialsType as C, DetailsFlags as D,
|
|
1912
|
+
export { getAuthToken as $, ApiKey as A, BaseAuthenticatedCommand as B, CredentialsType as C, DetailsFlags as D, DEFAULT_SHIPPED_FILES_GLOBS as E, DEFAULT_IGNORED_FILES_GLOBS as F, GODOT_CAPABILITIES as G, getGodotProjectName as H, getProjectJobs as I, getJobSummary as J, getJobStatusColor as K, getJob as L, JobStatus as M, getStageColor as N, makeHumanReadable as O, Platform as P, getProjectPlatformProgress as Q, GameContext as R, CommandContext as S, isValidSemVer as T, UserRole as U, castArrayObjectDates as V, WEB_URL as W, queryClient as X, CommandProvider as Y, GameProvider as Z, WS_URL as _, ApiKeyType as a, cacheKeys as a0, downloadBuildById as a1, getGoogleStatus as a2, getGodotAndroidPackageName as a3, enforcePolicy as a4, revokePolicy as a5, fetchKeyTestResult as a6, niceError as a7, KeyTestStatus as a8, KeyTestError as a9, getMessageColor as aA, getShortTime as aB, updateProject as aC, queryBuilds as aD, CreateGooglePlayGame as aE, inviteServiceAccount as aa, disconnectGoogle as ab, BaseCommand as ac, ejs as ad, getAPIKeys as ae, createAPIKey as af, revokeAPIKey as ag, getSingleUseUrl as ah, acceptTerms as ai, setAuthToken as aj, Auth as ak, getMaskedInput as al, getNewUploadTicket as am, getFileHash as an, startJobsFromUpload as ao, getPlatformName as ap, useBuilds as aq, getBuildSummary as ar, LogLevel as as, useSafeInput as at, Markdown as au, getShortAuthRequiredUrl as av, castObjectDates as aw, getGoogleAuthUrl as ax, useJob as ay, castJobDates as az, getRenderedMarkdown as b, getInput as c, Certificate as d, getProjects as e, getShortDate as f, getShortUUID as g, BaseGameCommand as h, generatePackageName as i, getGodotAppleBundleIdentifier as j, BundleId as k, App as l, CapabilityTypeOption as m, BetaGroup as n, isCWDGodotGame as o, getProject as p, CertificateType as q, Profile as r, ProfileType as s, API_URL as t, getAuthedHeaders as u, getGodotProjectCapabilities as v, CapabilityType as w, GameEngine as x, getGodotVersion as y, createProject as z };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import axios from 'axios';
|
|
2
|
-
import {
|
|
2
|
+
import { t as API_URL, u as getAuthedHeaders, V as castArrayObjectDates } from './index-Cv-92xRd.js';
|
|
3
3
|
import 'node:fs';
|
|
4
4
|
|
|
5
5
|
async function getUserCredentials(pageSize = 100) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import axios from 'axios';
|
|
2
|
-
import {
|
|
2
|
+
import { t as API_URL, u as getAuthedHeaders } from './index-Cv-92xRd.js';
|
|
3
3
|
|
|
4
4
|
async function getNewUploadTicket(projectId = null) {
|
|
5
5
|
const url = projectId ? `${API_URL}/projects/${projectId}/credentials/url` : `${API_URL}/credentials/url`;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useQuery } from '@tanstack/react-query';
|
|
2
|
-
import { k as BundleId,
|
|
2
|
+
import { k as BundleId, v as getGodotProjectCapabilities, P as Platform, G as GODOT_CAPABILITIES, w as CapabilityType } from './index-Cv-92xRd.js';
|
|
3
3
|
|
|
4
4
|
async function getBundleIdCapabilities(bundleId) {
|
|
5
5
|
const current = await bundleId.getBundleIdCapabilitiesAsync();
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useQuery } from '@tanstack/react-query';
|
|
2
2
|
import { DateTime } from 'luxon';
|
|
3
|
-
import { f as getShortDate,
|
|
3
|
+
import { f as getShortDate, r as Profile, s as ProfileType } from './index-Cv-92xRd.js';
|
|
4
4
|
import 'node:crypto';
|
|
5
5
|
import 'node:fs';
|
|
6
6
|
import 'node:path';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useQuery } from '@tanstack/react-query';
|
|
2
|
-
import { a0 as cacheKeys, a2 as getGoogleStatus } from './index-
|
|
2
|
+
import { a0 as cacheKeys, a2 as getGoogleStatus } from './index-Cv-92xRd.js';
|
|
3
3
|
|
|
4
4
|
const useGoogleStatus = () => useQuery({
|
|
5
5
|
queryFn: getGoogleStatus,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useQuery } from '@tanstack/react-query';
|
|
2
2
|
import axios from 'axios';
|
|
3
|
-
import { a0 as cacheKeys, g as getShortUUID, f as getShortDate,
|
|
3
|
+
import { a0 as cacheKeys, g as getShortUUID, f as getShortDate, u as getAuthedHeaders, t as API_URL, V as castArrayObjectDates } from './index-Cv-92xRd.js';
|
|
4
4
|
|
|
5
5
|
async function queryProjectCredentials({
|
|
6
6
|
projectId,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useEffect } from 'react';
|
|
2
2
|
import { io } from 'socket.io-client';
|
|
3
|
-
import { _ as WS_URL, $ as getAuthToken } from './index-
|
|
3
|
+
import { _ as WS_URL, $ as getAuthToken } from './index-Cv-92xRd.js';
|
|
4
4
|
|
|
5
5
|
function useWebSocket(listeners = []) {
|
|
6
6
|
const log = () => {
|
package/docs/game/details.md
CHANGED
|
@@ -29,18 +29,21 @@ After changing these values, you will need to trigger a new build of your game w
|
|
|
29
29
|
|
|
30
30
|
```help
|
|
31
31
|
USAGE
|
|
32
|
-
$ shipthis game details [-g <value>] [-f] [-
|
|
33
|
-
<value>]
|
|
32
|
+
$ shipthis game details [-g <value>] [-f] [-a <value>] [-b <value>] [-e <value>] [-v <value>] [-g <value>] [-c <value>] [-i <value>] [-n <value>] [-s <value>] [-d <value>]
|
|
34
33
|
|
|
35
34
|
FLAGS
|
|
36
|
-
-a, --androidPackageName=<value>
|
|
37
|
-
-b, --buildNumber=<value>
|
|
38
|
-
-
|
|
39
|
-
-
|
|
40
|
-
-
|
|
41
|
-
-
|
|
42
|
-
-
|
|
43
|
-
-
|
|
35
|
+
-a, --androidPackageName=<value> Set the Android package name
|
|
36
|
+
-b, --buildNumber=<value> Set the build number
|
|
37
|
+
-c, --gcpServiceAccountId=<value> Set the GCP service account ID
|
|
38
|
+
-d, --useDemoCredentials=<value> Use demo credentials for this project
|
|
39
|
+
-e, --gameEngine=<value> Set the game engine
|
|
40
|
+
-f, --force Force the command to run
|
|
41
|
+
-g, --gameId=<value> The ID of the game
|
|
42
|
+
-g, --gcpProjectId=<value> Set the GCP project ID
|
|
43
|
+
-i, --iosBundleId=<value> Set the iOS bundle ID
|
|
44
|
+
-n, --name=<value> The name of the game
|
|
45
|
+
-s, --semanticVersion=<value> Set the semantic version
|
|
46
|
+
-v, --gameEngineVersion=<value> Set the game engine version
|
|
44
47
|
|
|
45
48
|
DESCRIPTION
|
|
46
49
|
Shows and sets the details of a game.
|
package/docs/game/ship.md
CHANGED
|
@@ -27,30 +27,51 @@ When using ShipThis in a CI environment, it is most useful to use the `--follow`
|
|
|
27
27
|
|
|
28
28
|
[](https://asciinema.org/a/gKmZ0E1rJ4oiT9SyuSivXBZfY#shipthis-col80row24)
|
|
29
29
|
|
|
30
|
-
###
|
|
30
|
+
### Follow, do not publish, and then download APK
|
|
31
31
|
|
|
32
32
|
[](https://asciinema.org/a/GNf0t8niOlrMDsgPKqmBcuqQh#shipthis-col80row24)
|
|
33
33
|
|
|
34
|
+
### Building with demo credentials
|
|
35
|
+
|
|
36
|
+
Adding the `--useDemoCredentials` flag executes the build for the specified platform but applies ShipThis certificates, keystores or provisioning profiles. This can be useful to generate an asset which can be side-loaded onto your own device.
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
# To build for iOS with demo credentials
|
|
40
|
+
shipthis game ship --platform ios --follow --useDemoCredentials --download game.ipa
|
|
41
|
+
|
|
42
|
+
# To build for Android with demo credentials
|
|
43
|
+
shipthis game ship --platform android --follow --useDemoCredentials --downloadAPK game.apk
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### Overriding the Godot version
|
|
47
|
+
|
|
48
|
+
You can specify a different Godot version to use only for the current job. This can be helpful if you are upgrading your game to use a newer version of Godot.
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
shipthis game ship --platform android --follow --gameEngineVersion 4.5.1 --download game-4.5.1.aab
|
|
52
|
+
```
|
|
53
|
+
|
|
34
54
|
## Help Output
|
|
35
55
|
|
|
36
56
|
```help
|
|
37
|
-
Builds the app (for all platforms with valid credentials) and ships it to the stores.
|
|
38
|
-
|
|
39
57
|
USAGE
|
|
40
|
-
$ shipthis game ship [-g <value>] [--download <value> --platform android|ios] [--downloadAPK <value> ] [--follow ] [--skipPublish] [--verbose]
|
|
58
|
+
$ shipthis game ship [-g <value>] [--download <value> --platform android|ios] [--downloadAPK <value> ] [--follow ] [--skipPublish] [--verbose] [--useDemoCredentials ]
|
|
59
|
+
[--gameEngineVersion <value>]
|
|
41
60
|
|
|
42
61
|
FLAGS
|
|
43
|
-
-g, --gameId=<value>
|
|
44
|
-
--download=<value>
|
|
45
|
-
--downloadAPK=<value>
|
|
46
|
-
--follow
|
|
47
|
-
--
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
--
|
|
62
|
+
-g, --gameId=<value> The ID of the game
|
|
63
|
+
--download=<value> Download the build artifact to the specified file
|
|
64
|
+
--downloadAPK=<value> Download the APK artifact (if available) to the specified file
|
|
65
|
+
--follow Follow the job logs in real-time (requires --platform)
|
|
66
|
+
--gameEngineVersion=<value> Override the specified game engine version for this build
|
|
67
|
+
--platform=<option> The platform to ship the game to. This can be "android" or "ios"
|
|
68
|
+
<options: android|ios>
|
|
69
|
+
--skipPublish Skip the publish step
|
|
70
|
+
--useDemoCredentials Use demo credentials for this build (requires --platform, implies --skipPublish)
|
|
71
|
+
--verbose Enable verbose logging
|
|
51
72
|
|
|
52
73
|
DESCRIPTION
|
|
53
|
-
Builds
|
|
74
|
+
Builds and publishes your ShipThis game.
|
|
54
75
|
|
|
55
76
|
EXAMPLES
|
|
56
77
|
$ shipthis game ship
|
|
@@ -65,4 +86,7 @@ EXAMPLES
|
|
|
65
86
|
|
|
66
87
|
$ shipthis game ship --platform ios --follow --verbose
|
|
67
88
|
|
|
89
|
+
$ shipthis game ship --platform ios --useDemoCredentials --download game.ipa
|
|
90
|
+
|
|
91
|
+
$ shipthis game ship --platform android --gameEngineVersion 4.5.1 --skipPublish
|
|
68
92
|
```
|
package/package.json
CHANGED