2013-04-08 23:55:50 +03:00
{
2015-01-21 23:36:27 +02:00
"meta" : {
"org" : "videojs" ,
2014-02-15 03:52:48 +03:00
"name" : "video.js" ,
"requirements" : [
{
"name" : "git" ,
2014-07-08 21:06:29 +03:00
"info" : "http://git-scm.com"
2014-02-15 03:52:48 +03:00
} ,
{
"name" : "node.js" ,
2014-07-08 21:06:29 +03:00
"info" : "http://nodejs.org"
2014-02-15 03:52:48 +03:00
}
2014-07-08 21:06:29 +03:00
] ,
"urls" : {
"repo_api" : "https://api.github.com/repos/videojs/video.js" ,
"repo_ui" : "https://github.com/videojs/video.js"
} ,
"branches" : {
"development" : "master" ,
"release" : "stable"
}
2014-02-15 03:52:48 +03:00
} ,
2015-01-21 23:36:27 +02:00
"install" : {
"desc" : "Fork, download, and setup the project" ,
"steps" : [
2015-01-24 02:50:45 +02:00
{ "prompt" : "confirm" , "desc" : "You will now be taken to Github where you will choose an account to fork the project under. Remember which account you choose." } ,
2015-01-21 23:36:27 +02:00
{ "exec" : "open https://github.com/{{meta.org}}/{{meta.name}}/fork" } ,
{ "prompt" : "text" , "desc" : "Which account did you choose? (no '@')" , "id" : "owner" } ,
2015-01-24 02:50:45 +02:00
{ "exec" : "git clone https://github.com/{{ owner }}/{{ meta.name }}.git" } ,
{ "exec" : "cd {{ meta.name }}" , "desc" : "Change to the project directory" } ,
2015-01-21 23:36:27 +02:00
{ "include" : "setup" }
]
} ,
"setup" : {
"desc" : "Set up version control and install dependencies" ,
"steps" : [
[ "git fetch origin" , "Get all git branches" ] ,
[ "git checkout -b stable origin/stable" , "Create the stable branch for patches" ] ,
[ "git remote add upstream https://github.com/{{meta.org}}/{{meta.name}}.git" , "Add the upstream project as a remote for pulling changes" ] ,
[ "git fetch upstream" , "Get all upstream branches and changes" ] ,
{ "include" : "update all" }
]
} ,
2014-02-24 22:32:35 +03:00
"update" : {
2014-09-17 21:41:49 +03:00
"all" : {
"steps" : [
{ "include" : "update stable" } ,
{ "include" : "update master" } ,
[ "npm install" , "Download dependencies" ] ,
[ "grunt" , "Build the library" ]
]
} ,
"master" : {
"steps" : [
[ "git checkout master" , "Switch to the development branch" ] ,
[ "git pull upstream master" , "Get any changes to master in the main project" ] ,
[ "git push origin master" , "Push any changes to your copy of the main project" ]
]
} ,
"stable" : {
"steps" : [
[ "git checkout stable" , "Switch to the release branch" ] ,
[ "git pull upstream stable" , "Get any changes to stable in the main project" ] ,
[ "git push origin stable" , "Push any changes to your copy of the main project" ]
]
}
2014-02-24 22:32:35 +03:00
} ,
2014-09-17 21:41:49 +03:00
"test" : "grunt test" ,
"watch" : "grunt watch" ,
"server" : "grunt connect" ,
2014-02-15 03:52:48 +03:00
2014-05-16 21:32:47 +03:00
"feature" : {
"desc" : "Create a new feature or general enhancement" ,
2014-07-08 21:06:29 +03:00
"baseBranch" : "master" ,
2014-05-16 21:32:47 +03:00
"start" : {
"desc" : "Start a new feature" ,
2014-05-09 23:09:58 +03:00
"steps" : [
2015-01-21 23:36:27 +02:00
{ "include" : "update {{meta.branches.development}}" } ,
2014-07-08 21:06:29 +03:00
{ "include" : "branch start" }
2014-05-16 21:32:47 +03:00
]
} ,
2015-01-24 02:50:45 +02:00
"save" : {
"desc" : "Save changes to your feature" ,
"steps" : [ { "include" : "branch save" } ]
} ,
2014-05-16 21:32:47 +03:00
"submit" : {
"desc" : "Submit a pull request for a feature when it's finished" ,
2015-01-24 02:50:45 +02:00
"steps" : [ { "include" : "pull_request submit" } ]
2014-05-09 23:09:58 +03:00
} ,
2014-07-08 21:06:29 +03:00
"delete" : {
"desc" : "Delete the current feature branch" ,
2015-01-24 02:50:45 +02:00
"steps" : [ { "include" : "branch delete" } ]
} ,
"review" : {
"desc" : "Review a submitted feature" ,
"steps" : [ { "include" : "pull_request review" } ]
} ,
"modify" : {
"desc" : "Modify a submitted feature that you are reviewing" ,
"steps" : [ { "include" : "pull_request modify" } ]
2014-05-09 23:09:58 +03:00
} ,
2014-05-16 21:32:47 +03:00
"accept" : {
2015-01-24 02:50:45 +02:00
"desc" : "Merge a submitted feature" ,
2014-02-15 03:52:48 +03:00
"steps" : [
2015-01-21 23:36:27 +02:00
{ "include" : "update {{meta.branches.development}}" } ,
2014-07-08 21:06:29 +03:00
{ "include" : "pull_request accept" }
2014-05-16 21:32:47 +03:00
]
}
} ,
"patch" : {
"desc" : "Create an urgent fix for the latest stable version" ,
2014-07-08 21:06:29 +03:00
"baseBranch" : "stable" ,
2014-10-16 01:53:49 +03:00
"start" : {
2014-05-16 21:32:47 +03:00
"desc" : "Start a new patch" ,
2014-07-08 21:06:29 +03:00
"finished" : "Make your changes and then run `contrib patch submit`" ,
2014-05-16 21:32:47 +03:00
"steps" : [
2015-01-21 23:36:27 +02:00
{ "include" : "update {{meta.branches.release}}" } ,
2014-07-08 21:06:29 +03:00
{ "include" : "branch start" }
2014-05-16 21:32:47 +03:00
]
} ,
2015-01-24 02:50:45 +02:00
"save" : {
"desc" : "Save changes to your feature" ,
"steps" : [ { "include" : "branch save" } ]
} ,
2014-05-16 21:32:47 +03:00
"submit" : {
"desc" : "Submit a pull request for a patch when it's finished" ,
2015-01-24 02:50:45 +02:00
"steps" : [ { "include" : "pull_request submit" } ]
2014-05-16 21:32:47 +03:00
} ,
"delete" : {
"desc" : "Delete the current patch branch" ,
2015-01-24 02:50:45 +02:00
"steps" : [ { "include" : "branch delete" } ]
} ,
"review" : {
"desc" : "Review a submitted patch" ,
"steps" : [ { "include" : "pull_request review" } ]
} ,
"modify" : {
"desc" : "Modify a submitted patch that you are reviewing" ,
"steps" : [ { "include" : "pull_request modify" } ]
2014-07-08 21:06:29 +03:00
} ,
"accept" : {
2015-01-24 02:50:45 +02:00
"desc" : "Merge a submitted patch" ,
2014-07-08 21:06:29 +03:00
"steps" : [
2015-01-21 23:36:27 +02:00
{ "include" : "update {{meta.branches.release}}" } ,
2014-07-08 21:06:29 +03:00
{ "include" : "pull_request accept" }
2014-02-15 03:52:48 +03:00
]
}
2014-05-16 21:32:47 +03:00
} ,
2014-07-08 21:06:29 +03:00
"report" : {
2014-05-16 21:32:47 +03:00
"desc" : "Submit a bug report" ,
"steps" : [
2014-08-04 03:30:22 +03:00
{ "prompt" : "text" , "desc" : "Create a title that is descriptive of the problem" , "id" : "title" } ,
{ "prompt" : "text" , "desc" : "What did you do? (steps to reproduce)" , "id" : "reproduce" } ,
{ "prompt" : "text" , "desc" : "What did you expect to happen?" , "id" : "expected" } ,
{ "prompt" : "text" , "desc" : "What actually happened?" , "id" : "actual" } ,
{ "prompt" : "text" , "desc" : "What version of video.js are you using?" , "id" : "version" } ,
{ "prompt" : "text" , "desc" : "Are you using any video.js plugins?" , "id" : "plugins" } ,
{ "prompt" : "text" , "desc" : "What browsers/platforms did you experience this in (e.g. Win 7, IE10; Android 4, Chrome;)?" , "id" : "browsers" } ,
{ "prompt" : "text" , "desc" : "Is there a URL to a live example, or a jsbin (e.g. http://jsbin.com/axedog/9999/edit)?" , "id" : "example" } ,
{ "prompt" : "text" , "desc" : "Are there any other details you'd like to provide?" , "id" : "details" } ,
2015-01-21 23:36:27 +02:00
{ "open" : "{{meta.urls.repo_ui}}/issues/new?title={{title}}&body=**Steps to reproduce:**\n> {{reproduce}}\n\n**What was expected:**\n> {{expected}}\n\n**What Happened:**\n> {{actual}}\n\n**Video.js Version:**\n> {{version}}\n\n**Plugins:**\n> {{plugins}}\n\n**Browsers experienced on:**\n> {{browsers}}\n\n**Example:**\n> {{example}}\n\n**Other details:**\n> {{details}}" }
2014-08-04 03:36:57 +03:00
] ,
"finished" : "Thanks for submitting a bug report! One of our contributors will address it as soon as possible."
2014-05-16 21:32:47 +03:00
} ,
"request" : {
"desc" : "Submit a feature/enhancement request" ,
"steps" : [
2014-08-04 03:30:22 +03:00
{ "prompt" : "text" , "desc" : "Create a title that is descriptive of the enhancement" , "id" : "title" } ,
{ "prompt" : "text" , "desc" : "Describe the feature/enhancement (be as detailed as possible so it's clear who, why, and how it would be used)" , "id" : "describe" } ,
{ "prompt" : "text" , "desc" : "Is there any existing documentation or related specifications?" , "id" : "docs" } ,
{ "prompt" : "text" , "desc" : "Are there any existing examples?" , "id" : "examples" } ,
2014-09-17 21:53:41 +03:00
{ "prompt" : "confirm" , "desc" : "You will be redirected to Github where you can submit this issue, OK?" } ,
2015-01-21 23:36:27 +02:00
{ "open" : "{{meta.urls.repo_ui}}/issues/new?title={{ title }}&body=**Describe the feature/enhancement:**\n> {{ describe }}\n\n**Existing docs/specs:**\n> {{ docs }}\n\n**Existing examples:**\n> {{ examples }}" }
2014-08-04 03:36:57 +03:00
] ,
"finished" : "Thanks for submitting a feature request! One of our contributors will address it as soon as possible."
2014-05-16 21:32:47 +03:00
} ,
"release" : {
2015-02-02 01:55:13 +02:00
"desc" : "Create and publish releases" ,
"patch" : {
"release_type" : "patch" ,
"steps" : [ { "include" : "release run" } ]
} ,
"minor" : {
"release_type" : "minor" ,
"steps" : [ { "include" : "release run" } ]
} ,
2015-04-30 23:17:16 +02:00
"prerelease" : {
"release_type" : "prerelease" ,
"steps" : [
[ "git checkout master" , "Checkout the developmet branch" ] ,
[ "git pull upstream master" , "Update the developmet branch" ] ,
{ "include" : "branch check" } ,
[ "git checkout -b temp-release-branch master" , "Create a temporary branch for the dist" ] ,
[ "grunt version:{{release_type}}" , "Bump package versions" ] ,
[ "./build/bin/version" , "Return the current VJS Version from the package.json file" , "version" ] ,
[ "git commit -am 'v{{version}}'" , "Add and commit the package changes" ] ,
[ "git checkout master" , "Checkout the developmet branch" ] ,
[ "git merge temp-release-branch" , "Merge package changes into the dev brach" ] ,
2015-04-30 23:27:44 +02:00
[ "git push upstream master" , "Push the dev branch changes to the repo" ] ,
2015-04-30 23:17:16 +02:00
[ "git checkout temp-release-branch" , "Checkout the temp branch again" ] ,
[ "grunt dist" , "Build the dist" ] ,
[ "git add dist --force" , "Add the (otherwise ignored) release files" ] ,
2015-04-30 23:27:44 +02:00
[ "git commit -m 'v{{version}} dist'" , "Commit the dist changes" ] ,
2015-04-30 23:17:16 +02:00
[ "git tag -a v{{version}} -m 'v{{version}}'" , "Tag the release" ] ,
[ "git push upstream --tags" , "Push the new tag to the repo" ] ,
[ "npm publish --tag next" , "Publish to npm as 'next'" ] ,
[ "git checkout master" , "Checkout the developmet branch" ] ,
[ "git branch -D temp-release-branch" , "Delete the temp release branch" ]
]
} ,
2015-02-02 01:55:13 +02:00
"run" : {
"steps" : [
{ "include" : "branch check" } ,
2015-02-27 01:52:10 +02:00
[ "git checkout stable" , "Checkout the release branch" ] ,
[ "git pull upstream stable" , "Update the release branch" ] ,
[ "npm install" , "Ensure dependency updates have been installed" ] ,
[ "grunt test" , "Run tests" ] ,
[ "grunt version:{{ release_type }}" , "Bump package versions" ] ,
2015-02-28 03:06:01 +02:00
[ "./build/bin/version" , "Return the current VJS Version from the package.json file" , "version" ] ,
2015-02-27 01:52:10 +02:00
[ "grunt chg-release:{{ version }}" , "Update the changelog with the new release" ] ,
[ "grunt clean:dist" , "Clean out the dist folder before the build" ] ,
[ "grunt" , "Build the release" ] ,
[ "git add dist/video-js --force" , "Add the (otherwise ignored) release files" ] ,
[ "grunt vjsdocs" , "Rebuild the docs" ] ,
[ "grunt cdn-links" , "Update the cdn urls in the docs" ] ,
[ "git commit -am 'Release v{{ version }}'" , "Commit the unstaged changes (package.json, changelog, etc)" ] ,
[ "git tag -a v{{version}} -m 'v{{version}}'" , "Tag the current version" ] ,
[ "git push upstream stable" , "Push changes to the remote" ] ,
[ "git push upstream --tags" , "Push tags to the remote" ] ,
[ "npm publish" , "Publish to npm" ] ,
[ "grunt github-release" , "Create a new release on Github" ] ,
[ "git checkout master" , "Checkout the development branch" ] ,
[ "git pull upstream master" , "Update the development branch" ] ,
[ "git merge stable" , "Merge changes" ] ,
[ "grunt clean:dist" , "Remove built dist files again to re-ignore them" ] ,
[ "git add -u" , "Add the changes for the removed dist files" ] ,
[ "git commit -m 'Removed dist files'" , "Commit the removed dist files" ] ,
[ "git push upstream master" , "Push development branch changes" ]
2015-02-02 01:55:13 +02:00
]
}
2014-07-08 21:06:29 +03:00
} ,
"branch" : {
"private" : true ,
2015-01-24 02:50:45 +02:00
2014-07-08 21:06:29 +03:00
"start" : {
"steps" : [
2015-01-24 02:50:45 +02:00
{ "prompt" : "text" , "id" : "name" , "desc" : "Name the branch" } ,
{ "exec" : "git checkout -b {{name}} {{baseBranch}}" , "desc" : "Create the branch" } ,
{ "exec" : "git push -u origin {{name}}" , "desc" : "Push the branch to your remote copy of the project" }
2014-07-08 21:06:29 +03:00
]
} ,
2015-01-24 02:50:45 +02:00
"save" : {
"desc" : "Commit and push changes made to files in the project" ,
2014-07-08 21:06:29 +03:00
"steps" : [
2015-01-24 02:50:45 +02:00
{ "include" : "branch confirm" } ,
{ "prompt" : "text" , "id" : "message" , "desc" : "Briefly describe the changes made" } ,
{ "exec" : "git add ." , "desc" : "Add the changes" } ,
{ "exec" : "git commit -m '{{message}}'" , "desc" : "Commit the changes" } ,
{ "exec" : "git push origin {{branch_name}}" , "desc" : "Push the changes to your remote copy of the project" }
]
} ,
"check" : {
"private" : true ,
"desc" : "Check for unsaved changes" ,
"steps" : [
{ "exec" : "git diff --exit-code" , "desc" : "Ensure there's no unadded changes" , "fail" : "Make sure all changes have been saved (added and committed) or stashed" } ,
{ "exec" : "git diff --cached --exit-code" , "desc" : "Ensure there's no uncommitted changes" , "fail" : "Make sure all changes have been saved (added and committed) or stashed" }
]
} ,
"name" : {
"private" : true ,
"steps" : [
{ "exec" : "git rev-parse --abbrev-ref HEAD" , "desc" : "Get the current branch" , "id" : "branch_name" }
]
} ,
"confirm" : {
"private" : true ,
"steps" : [
{ "include" : "branch name" } ,
{ "prompt" : "confirm" , "desc" : "Are you sure *{{branch_name}}* is the correct branch?" }
2014-07-08 21:06:29 +03:00
]
} ,
"delete" : {
"desc" : "Delete the current branch" ,
"steps" : [
2015-01-24 02:50:45 +02:00
{ "include" : "branch confirm" } ,
{ "exec" : "git checkout master" , "desc" : "Exit the branch being deleted" } ,
{ "exec" : "git branch -D {{branch_name}}" , "desc" : "Delete the local copy of the branch" } ,
{ "exec" : "git push origin :{{branch_name}}" , "desc" : "Delete the remote copy of the branch" }
2014-07-08 21:06:29 +03:00
]
}
} ,
"pull_request" : {
"private" : true ,
2015-01-24 02:50:45 +02:00
"desc" : "Pull request related commands" ,
2014-07-08 21:06:29 +03:00
2015-01-24 02:50:45 +02:00
"prepare" : {
"private" : true ,
"steps" : [
{ "include" : "branch check" } ,
{ "include" : "branch confirm" } ,
{ "include" : "test" } ,
{ "prompt" : "text" , "desc" : "Which github user or org are you submitting from?" , "id" : "user" }
]
} ,
"submit" : {
"desc" : "Submit a pull request for when the change is finished" ,
"steps" : [
{ "include" : "pull_request prepare" } ,
{ "open" : "{{meta.urls.repo_ui}}/compare/videojs:{{baseBranch}}...{{user}}:{{branch_name}}" , "desc" : "Open the github pull request page" }
]
} ,
2014-08-04 22:50:19 +03:00
"review" : {
2014-07-08 21:06:29 +03:00
"steps" : [
2014-09-17 21:53:41 +03:00
{ "prompt" : "text" , "desc" : "What is the the pull request number?" , "id" : "prNum" } ,
2015-01-21 23:36:27 +02:00
{ "get" : "{{meta.urls.repo_api}}/pulls/{{prNum}}" , "desc" : "Get the PR information" , "id" : "pr" } ,
2014-08-04 22:50:19 +03:00
[ "git fetch {{pr.head.repo.ssh_url}} {{pr.head.ref}}" , "Get the pull request changes but don't merge them" ] ,
[ "git merge-base master FETCH_HEAD" , "Get the common ancestor commit" , "base" ] ,
[ "git checkout -b review-{{pr.user.login}}-{{pr.head.ref}} {{base}}" , "Create a new local branch for the pull request that has a base of the common commit" ] ,
[ "git merge FETCH_HEAD" , "Merge in the pull request changes" ] ,
2014-07-08 21:06:29 +03:00
[ "grunt test" , "Build and run tests" ]
]
} ,
"modify" : {
2015-01-24 02:50:45 +02:00
"desc" : "Submit a modification to a pull request that you are currently reviewing" ,
2014-07-08 21:06:29 +03:00
"steps" : [
2015-01-24 02:50:45 +02:00
{ "include" : "pull_request prepare" } ,
{ "prompt" : "text" , "desc" : "What is the the pull request number?" , "id" : "prNum" } ,
2015-01-21 23:36:27 +02:00
{ "get" : "{{meta.urls.repo_api}}/pulls/{{prNum}}" , "desc" : "Get the PR information" , "id" : "pr" } ,
2015-01-24 02:50:45 +02:00
{ "exec" : "git push -u origin {{branch_name}}" , "desc" : "Push the changes to the remote repo" } ,
{ "open" : "https://github.com/{{user}}/video.js/compare/{{pr.head.label}}...{{user}}:{{branch_name}}" , "desc" : "Open the github pull request page" }
2014-07-08 21:06:29 +03:00
]
} ,
2014-09-17 21:41:49 +03:00
"accept" : {
"steps" : [
2015-01-24 02:50:45 +02:00
{ "prompt" : "text" , "id" : "prNum" , "desc" : "What is the the pull request number?" } ,
{ "get" : "{{meta.urls.repo_api}}/pulls/{{prNum}}" , "desc" : "Get the PR information" , "id" : "pr" } ,
{ "get" : "{{meta.urls.repo_api}}/pulls/{{prNum}}/commits" , "desc" : "Get the PR commits to access author info" , "id" : "prCommits" } ,
2014-09-17 21:41:49 +03:00
[ "git checkout -b {{pr.user.login}}-{{pr.head.ref}} {{pr.base.ref}}" , "Create a new branch for merging the changes" ] ,
[ "git fetch {{pr.head.repo.ssh_url}} {{pr.head.ref}}" , "Fetch the changes" ] ,
[ "git merge --no-commit --squash FETCH_HEAD" , "Merge the changes in without committing so they can be squashed" ] ,
[ "grunt test" , "Run tests to make sure they still pass" ] ,
2015-01-24 02:50:45 +02:00
{ "prompt" : "text" , "id" : "line" , "desc" : "Describe this change in one line" } ,
2014-09-17 21:41:49 +03:00
[ "grunt chg-add:'{{line}} ([view](https\\://github.com/videojs/video.js/pull/{{prNum}}))'" , "Add a line to the changelog" ] ,
[ "git add CHANGELOG.md" , "Add the changlelog change to be committed" ] ,
[ "git commit -a --author='{{prCommits.[0].commit.author.name}} <{{prCommits.[0].commit.author.email}}>' -m '{{line}}. closes #{{prNum}}'" , "Commit the changes" ] ,
2014-09-17 21:53:41 +03:00
{ "prompt" : "confirm" , "desc" : "Does everything look ok?" } ,
2014-09-17 21:41:49 +03:00
[ "git checkout {{pr.base.ref}}" , "Check out the base branch" ] ,
[ "git merge {{pr.user.login}}-{{pr.head.ref}}" , "Merge the changes" ] ,
[ "git push origin {{pr.base.ref}}" , "Push the changes to your remote copy of the project" ] ,
[ "git push upstream {{pr.base.ref}}" , "Push the changes to the main project" ] ,
[ "git branch -D {{pr.user.login}}-{{pr.head.ref}}" , "Delete the local branch used for merging" ]
]
}
2014-02-15 03:52:48 +03:00
}
2013-05-21 02:02:31 +03:00
}