src/cm/media/js/lib/yui/yui3-3.15.0/BUILD.md
author ymh <ymh.work@gmail.com>
Fri, 14 Mar 2014 13:16:10 +0100
changeset 611 fa66f4bb1563
parent 602 e16a97fb364a
permissions -rw-r--r--
add some more custom config and put every thing in comment in the custom.yaml template
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
602
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     1
Grunt Building
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     2
==============
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     3
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     4
Our dev and release builds are handled by [Grunt](http://gruntjs.com/).
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     5
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     6
Installation
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     7
------------
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     8
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     9
First you need to install the `grunt-cli` (`npm -g install grunt-cli`)
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    10
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    11
After cloning you can simply do an NPM install.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    12
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    13
`npm install`
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    14
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    15
This will install the tools needed locally and build the library and npm package.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    16
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    17
Shortcuts
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    18
---------
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    19
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    20
 * `grunt build` Runs a `yogi` build.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    21
 * `grunt npm` Runs the npm build.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    22
 * `grunt test` Runs a `yogi test` on the entire lib.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    23
 * `grunt test-cli` Runs only the CLI tests.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    24
 * `grunt travis` Runs a custom build/test just for Travis CI.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    25
 * `grunt release` Runs a release build (more below)
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    26
 * `grunt`, `grunt help`, `grunt yui` Will display build help.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    27
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    28
Release Build
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    29
-------------
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    30
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    31
You can do a full YUI release build with `grunt release`.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    32
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    33
This command uses two CLI options (`--release-version` and `--release-build`).
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    34
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    35
 * `--release-version` The version to stamp the files with
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    36
 * `--release-build` The build number of this release.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    37
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    38
If `--release-build` is not provided, the last Git sha (short version) will be used in it's place.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    39
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    40
Release builds are stored under: `./releases/[VERSION]/`
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    41
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    42
The release build consists of the following artifacts:
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    43
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    44
 * `dist release zip` Containing source, tests, HISTORY, api docs and landing pages.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    45
 * `cdn release zip` Contains the build dir stamped for a CDN release (CSS files processed for relative paths)
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    46
 * `ssl cdn release zip` Same as above only tweaked for SSL access.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    47
 * `npm package` The npm package designed for a simple `npm publish`
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    48
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    49
Other Builds
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    50
------------
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    51
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    52
We no longer require a `Makefile` for any of our modules, they have all been converted to `grunt` builds.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    53
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    54
 * `cssnormalize` Under `src/cssnormalize`, `grunt` will import the source.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    55
 * `handlebars` Under `src/handlebars`, `grunt` will import the source.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    56
 * `test` Under `src/test`, `grunt` will import the source.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    57