1 |
[jQuery UI](http://jqueryui.com/) - Interactions and Widgets for the web |
2 |
================================ |
3 |
|
4 |
jQuery UI provides interactions like Drag and Drop and widgets like Autocomplete, Tabs and Slider and makes these as easy to use as jQuery itself. |
5 |
|
6 |
If you want to use jQuery UI, go to [jqueryui.com](http://jqueryui.com) to get started. Or visit the [Using jQuery UI Forum](http://forum.jquery.com/using-jquery-ui) for discussions and questions. |
7 |
|
8 |
If you are interested in helping develop jQuery UI, you are in the right place. |
9 |
To discuss development with team members and the community, visit the [Developing jQuery UI Forum](http://forum.jquery.com/developing-jquery-ui) or in #jquery on irc.freednode.net. |
10 |
|
11 |
|
12 |
For contributors |
13 |
--- |
14 |
|
15 |
If you want to help and provide a patch for a bugfix or new feature, please take |
16 |
a few minutes and look at [our Getting Involved guide](http://wiki.jqueryui.com/w/page/35263114/Getting-Involved). |
17 |
In particular check out the [Coding standards](http://wiki.jqueryui.com/w/page/12137737/Coding-standards) |
18 |
and [Commit Message Style Guide](http://wiki.jqueryui.com/w/page/25941597/Commit-Message-Style-Guide). |
19 |
|
20 |
In general, fork the project, create a branch for a specific change and send a |
21 |
pull request for that branch. Don't mix unrelated changes. You can use the commit |
22 |
message as the description for the pull request. |
23 |
|
24 |
|
25 |
Running the Unit Tests |
26 |
--- |
27 |
|
28 |
Run the unit tests with a local server that supports PHP. No database is required. Pre-configured php local servers are available for Windows and Mac. Here are some options: |
29 |
|
30 |
- Windows: [WAMP download](http://www.wampserver.com/en/) |
31 |
- Mac: [MAMP download](http://www.mamp.info/en/index.html) |
32 |
- Linux: [Setting up LAMP](https://www.linux.com/learn/tutorials/288158-easy-lamp-server-installation) |
33 |
- [Mongoose (most platforms)](http://code.google.com/p/mongoose/) |
34 |
|
35 |
|
36 |
Building jQuery UI |
37 |
--- |
38 |
|
39 |
jQuery UI uses the [grunt](http://github.com/cowboy/grunt) build system. Building jQuery UI requires node.js and a command line zip program. |
40 |
|
41 |
Install grunt. |
42 |
|
43 |
`npm install grunt -g` |
44 |
|
45 |
Clone the jQuery UI git repo. |
46 |
|
47 |
`git clone git://github.com/jquery/jquery-ui.git` |
48 |
|
49 |
`cd jquery-ui` |
50 |
|
51 |
Install node modules. |
52 |
|
53 |
`npm install` |
54 |
|
55 |
Run grunt. |
56 |
|
57 |
`grunt build` |
58 |
|
59 |
There are many other tasks that can be run through grunt. For a list of all tasks: |
60 |
|
61 |
`grunt --help` |
62 |
|
63 |
|
64 |
For committers |
65 |
--- |
66 |
|
67 |
When looking at pull requests, first check for [proper commit messages](http://wiki.jqueryui.com/w/page/12137724/Bug-Fixing-Guide). |
68 |
|
69 |
Do not merge pull requests directly through GitHub's interface. |
70 |
Most pull requests are a single commit; cherry-picking will avoid creating a merge commit. |
71 |
It's also common for contributors to make minor fixes in an additional one or two commits. |
72 |
These should be squashed before landing in master. |
73 |
|
74 |
**Make sure the author has a valid name and email address associated with the commit.** |
75 |
|
76 |
Fetch the remote first: |
77 |
|
78 |
git fetch [their-fork.git] [their-branch] |
79 |
|
80 |
Then cherry-pick the commit(s): |
81 |
|
82 |
git cherry-pick [sha-of-commit] |
83 |
|
84 |
If you need to edit the commit message: |
85 |
|
86 |
git cherry-pick -e [sha-of-commit] |
87 |
|
88 |
If you need to edit the changes: |
89 |
|
90 |
git cherry-pick -n [sha-of-commit] |
91 |
# make changes |
92 |
git commit --author="[author-name-and-email]" |
93 |
|
94 |
If it should go to the stable brach, cherry-pick it to stable: |
95 |
|
96 |
git checkout 1-8-stable |
97 |
git cherry-pick -x [sha-of-commit-from-master] |
98 |
|
99 |
*NOTE: Do not cherry-pick into 1-8-stable until you have pushed the commit from master upstream.* |