Skip to content
Permalink
Browse files

Merge remote branch 'upstream/master'

  • Loading branch information
scottjehl
scottjehl committed Jan 19, 2011
2 parents 73d060b + 265cf0e commit cb1f7eeac5073748ae6200f2f960fb330ec966a8
@@ -7,11 +7,8 @@ BUILD_DIR = build
PREFIX = .
DIST_DIR = ${PREFIX}/dist

RHINO ?= java -jar ${BUILD_DIR}/js.jar

CLOSURE_COMPILER = ${BUILD_DIR}/google-compiler-20100917.jar

MINJAR ?= java -jar ${CLOSURE_COMPILER}
JS_ENGINE ?= `which node nodejs`
COMPILER = ${JS_ENGINE} ${BUILD_DIR}/uglify.js --unsafe

BASE_FILES = ${SRC_DIR}/core.js\
${SRC_DIR}/support.js\
@@ -93,17 +90,13 @@ ${SRC_DIR}/selector.js: ${SIZZLE_DIR}/sizzle.js

lint: ${JQ}
@@echo "Checking jQuery against JSLint..."
@@${RHINO} build/jslint-check.js
@@${JS_ENGINE} build/jslint-check.js

min: ${JQ_MIN}

${JQ_MIN}: ${JQ}
@@echo "Building" ${JQ_MIN}

@@head -15 ${JQ} > ${JQ_MIN}
@@${MINJAR} --js ${JQ} --warning_level QUIET --js_output_file ${JQ_MIN}.tmp
@@cat ${JQ_MIN}.tmp >> ${JQ_MIN}
@@rm -f ${JQ_MIN}.tmp
@@${COMPILER} ${JQ} > ${JQ_MIN}

clean:
@@echo "Removing Distribution directory:" ${DIST_DIR}
@@ -1,85 +1,64 @@
[jQuery](http://jquery.com/) - New Wave Javascript
================================
==================================================

What you need to build your own jQuery
---------------------------------------
* Make sure that you have Java installed (if you want to build a minified version of jQuery).
If not, [go to this page](http://java.sun.com/javase/downloads/index.jsp) and download "Java Runtime Environment (JRE) 5.0"
--------------------------------------

Build Options
--------------
In order to build jQuery, you need to have GNU make 3.8 or later, Node.js 0.2 or later, and git 1.7 or later.
(Earlier versions might work OK, but are not tested.)

You now have **three** options for building jQuery:
Windows users have two options:

* **`make`**: If you have access to common UNIX commands (like `make`, `mkdir`, `rm`, `cat`, and `echo`) then simply type `make` to build all the components.
1. Install [msysgit](https://code.google.com/p/msysgit/) (Full installer for official Git),
[GNU make for Windows](http://gnuwin32.sourceforge.net/packages/make.htm), and a
[binary version of Node.js](http://node-js.prcn.co.cc/). Make sure all three packages are installed to the same
location (by default, this is C:\Program Files\Git).
2. Install [Cygwin](http://cygwin.com/) (make sure you install the git, make, and which packages), then either follow
the [Node.js build instructions](https://github.com/ry/node/wiki/Building-node.js-on-Cygwin-%28Windows%29) or install
the [binary version of Node.js](http://node-js.prcn.co.cc/).

* **`rake`**: If you have Ruby Rake installed (on either Windows or UNIX/Linux), you can simply type `rake` to build all the components.
Mac OS users should install Xcode (comes on your Mac OS install DVD, or downloadable from
[Apple's Xcode site](http://developer.apple.com/technologies/xcode.html)) and
[http://mxcl.github.com/homebrew/](Homebrew). Once Homebrew is installed, run `brew install git` to install git,
and `brew install node` to install Node.js.

* **`ant`**: If you have Ant installed (or are on Windows and don't have access to make). You can download Ant from here: [http://ant.apache.org/bindownload.cgi].
Linux/BSD users should use their appropriate package managers to install make, git, and node, or build from source
if you swing that way. Easy-peasy.

How to build your own jQuery
-----------------------------

*Note: If you are using either `rake` or `ant`, substitute your chosen method in place of `make` in the examples below. They work identically for all intents and purposes. Quick reference is also available for `rake` by typing `rake -T` in the `jquery` directory.*

In the main directory of the distribution (the one that this file is in), type
the following to make all versions of jQuery:

make

*Here are the individual items that are buildable from the Makefile:*

make init

Pull in all the external dependencies (QUnit, Sizzle) for the project.

make jquery

The standard, uncompressed, jQuery code.
Makes: `./dist/jquery.js`

make min

A compressed version of jQuery (made the Closure Compiler).
Makes: `./dist/jquery.min.js`
How to build your own jQuery
----------------------------

make lint
First, clone a copy of the main jQuery git repo by running `git clone git://github.com/jquery/jquery.git`.

Tests a build of jQuery against JSLint, looking for potential errors or bits of confusing code.
Then, to get a complete, minified, jslinted version of jQuery, simply `cd` to the `jquery` directory and type
`make`. If you don't have Node installed and/or want to make a basic, uncompressed, unlinted version of jQuery, use
`make jquery` instead of `make`.

make selector
The built version of jQuery will be put in the `dist/` subdirectory.

Builds the selector library for jQuery from Sizzle.
Makes: `./src/selector.js`
To remove all built files, run `make clean`.

Finally, you can remove all the built files using the command:

make clean

Building to a different directory
----------------------------------
---------------------------------

If you want to build jQuery to a directory that is different from the default location, you can...
If you want to build jQuery to a directory that is different from the default location, you can specify the PREFIX
directory: `make PREFIX=/home/jquery/test/ [command]`

**Make only:** Specify the PREFIX directory, for example:

make PREFIX=/home/john/test/ [command]

With this example, the output files would be contained in `/home/john/test/dist/`
With this example, the output files would end up in `/home/jquery/test/dist/`.

**Rake only:** Define the DIST_DIR directory, for example:

rake DIST_DIR=/home/john/test/ [command]

With this example, the output files would be contained in `/home/john/test/`
Troubleshooting
---------------

*In both examples, `[command]` is optional.*
Sometimes, the various git repositories get into an inconsistent state where builds don't complete properly
(usually this results in the jquery.js or jquery.min.js being 0 bytes). If this happens, run `make clean`, then
run `make` again.

**Ant only:** You cannot currently build to another directory when using Ant.

Questions?
----------

If you have any questions, please feel free to ask them on the Developing jQuery Core
forum, which can be found here:
[http://forum.jquery.com/developing-jquery-core](http://forum.jquery.com/developing-jquery-core)
If you have any questions, please feel free to ask on the
[Developing jQuery Core forum](http://forum.jquery.com/developing-jquery-core) or in #jquery on irc.freenode.net.
162 Rakefile

This file was deleted.

0 comments on commit cb1f7ee

Please sign in to comment.
You can’t perform that action at this time.