mirror of
https://github.com/Foundry376/Mailspring.git
synced 2024-11-11 18:32:20 +08:00
42 lines
1.1 KiB
CoffeeScript
42 lines
1.1 KiB
CoffeeScript
|
path = require 'path'
|
||
|
Handlebars = require 'handlebars'
|
||
|
marked = require 'meta-marked'
|
||
|
fs = require 'fs-plus'
|
||
|
_ = require 'underscore'
|
||
|
|
||
|
module.exports = (grunt) ->
|
||
|
{cp, mkdir, rm} = require('./task-helpers')(grunt)
|
||
|
|
||
|
grunt.registerTask 'publish-docs', 'Publish the API docs to gh-pages', ->
|
||
|
done = @async()
|
||
|
|
||
|
docsOutputDir = grunt.config.get('docsOutputDir')
|
||
|
docsRepoDir = process.env.DOCS_REPO_DIR
|
||
|
if not docsRepoDir
|
||
|
console.log("DOCS_REPO_DIR is not set.")
|
||
|
return done()
|
||
|
|
||
|
exec = (require 'child_process').exec
|
||
|
execAll = (arr, callback) ->
|
||
|
console.log(arr[0])
|
||
|
exec arr[0], {cwd: docsRepoDir}, (err, stdout, stderr) ->
|
||
|
return callback(err) if callback and err
|
||
|
arr.splice(0, 1)
|
||
|
if arr.length > 0
|
||
|
execAll(arr, callback)
|
||
|
else
|
||
|
callback(null)
|
||
|
|
||
|
execAll [
|
||
|
"git fetch"
|
||
|
"git reset --hard origin/gh-pages"
|
||
|
"git clean -Xdf"
|
||
|
], (err) ->
|
||
|
return done(err) if err
|
||
|
cp(docsOutputDir, docsRepoDir)
|
||
|
execAll [
|
||
|
"git commit -am 'Jenkins updating docs'"
|
||
|
"git push --force origin/gh-pages"
|
||
|
], (err) ->
|
||
|
return done(err)
|