/grunt-p4

Execute common p4 commands from your Grunt build.

Primary LanguageCoffeeScript

grunt-p4

Execute common p4 commands from your Grunt build.

Note that for these commands, file paths must be specified in the task options, not the task's list of files. Grunt strips the task file list of non-existent files, and often (especially in the case of p4 sync) the files you intend to sync may not yet exist.

All commands are multi-tasks and can be configured as such.

Installing

Install at the project level, usually to your dev-dependencies:

npm install grunt-p4 --save-dev

Supported Commands

revert

Revert a list of files. (See p4 revert)

Options

  • paths - Array; a list of file paths

Example

grunt.initConfig({
  p4revert: {
    options: {
      paths: [
        './src/version.js',
        './docs/version.md'
      ]
    }
  }
);

sync

Synchronize local files with a remote repository. (See p4 sync)

Options

  • paths - Array; a list of file paths
  • force - Boolean; when true, force the sync, even if the local workspace already has the file.
  • preview - Boolean; when true, displays the results of the sync without actually performing the sync.

Example

grunt.initConfig({
  p4sync: {
    options: {
      force: true,
      preview: false,
      paths: [
        './src/version.js',
        './docs/version.md'
      ]
    }
  }
);

edit

Check out a file for modification in the local workspace. (See p4 edit)

Options

  • paths - Array; a list of file paths
  • preview - Boolean; when true, displays the results of the sync without actually performing the sync.

Example

grunt.initConfig({
  p4edit: {
    options: {
      preview: false,
      paths: [
        './src/version.js',
        './docs/version.md'
      ]
    }
  },
});

submit

Submit a changelist to the repository. (See p4 submit)

Options

  • description - String; the commit message. If omitted, defaults to 'Automated submit via Grunt'
  • changelist - Number; the changelist number. If omitted, the operation is not performed.

Example

grunt.initConfig({
  p4submit: {
    options: {
      description: 'A commit message',
      changelist: 12345
    }
  },
});

Contributing

Fork this library and run npm install. This library is built using Grunt, which must be installed globally (npm install -g grunt).

Once installed, run grunt to enter watch mode, which will run unit tests with each change. (Run grunt test for a single test run.)

All new code must have associated unit test coverage prior to pull request acceptance.