-
Notifications
You must be signed in to change notification settings - Fork 13
/
Copy pathindex.js
60 lines (52 loc) · 1.72 KB
/
index.js
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
const core = require('@actions/core')
const exec = require('@actions/exec')
const fs = require('fs')
async function execCommand(command, options = {}) {
const projectPath = core.getInput('project-path')
options.cwd = projectPath
return exec.exec(command, [], options)
}
async function run() {
let version = core.getInput('version')
const buildNumber = core.getInput('build-number')
const versionPath = core.getInput('version-path')
if (versionPath) {
const content = fs.readFileSync(versionPath, 'utf8')
version = content.trim()
}
if (version) {
core.setOutput('version', version)
const command = `agvtool new-marketing-version ${version}`
console.log(command)
await execCommand(command).catch(error => {
core.setFailed(error.message)
})
} else {
await execCommand(`agvtool what-marketing-version -terse1`, {
listeners: { stdout: (data) => {
console.log(data)
core.setOutput('version', data.toString().trim())
}}
})
}
if (!buildNumber) {
const command = `agvtool next-version -all`
console.log(command)
await execCommand(command).catch(error => {
core.setFailed(error.message)
})
} else {
const command = `agvtool new-version -all ${buildNumber}`
console.log(command)
await execCommand(command).catch(error => {
core.setFailed(error.message)
})
}
await execCommand(`agvtool what-version -terse`, {
listeners: { stdout: (data) => {
console.log(data)
core.setOutput('build-number', data.toString().trim())
}}
})
}
run()