Skip to content
This repository has been archived by the owner. It is now read-only.
Permalink
Browse files
[CB-315] [weinre] generate valid Apache release artifact names
- changed the way the archives are built, names, etc

- updated a lot of the docs to reference those changes

- added package.json files back to node_modules pre-reqs.
  This was a mistake in my .gitignore, because I want to
  exclude the package.json file I build 'live', but the
  gitignore rule was keeping the pre-req files from being
  stored!  This may have eventually caused havoc when you
  try to later update the pre-reqs.
  • Loading branch information
pmuellr committed Mar 30, 2012
1 parent 344f764 commit 4318fe39f6fd4461029ae88a28dca98aaf53284f
Showing 21 changed files with 524 additions and 112 deletions.
@@ -17,9 +17,9 @@
* under the License.
-->

weinre is WEb INspector REmote.
Pronounced like the word "winery".
Or maybe like the word "weiner".
weinre is WEb INspector REmote.

Pronounced like the word "winery". Or maybe like the word "weiner".
Who knows, really.

weinre is a debugger for web pages,
@@ -28,8 +28,7 @@ except it's designed to work remotely, and in particular,
to allow you debug web pages on a mobile device such as a phone.

For more information on weinre:
[http://http://incubator.apache.org/callback/](http://incubator.apache.org/callback/)

[http://http://incubator.apache.org/cordova/](http://incubator.apache.org/cordova/)

weinre source
-------------
@@ -49,24 +48,29 @@ that weinre uses, and holds the output of the build
building weinre
---------------

The weinre build is currently run on a Mac OS X 10.7 laptop. It also runs on Apache
continuous integration servers running Linux. The build is not typically run on Windows,
so if you have problems with that, please log an issue.
The weinre build is currently run on a Mac OS X 10.7 laptop. It also runs on
Apache continuous integration servers running Linux. The build is not
typically run on Windows, so if you have problems with that, please log an
issue.

The weinre build pre-req's the following tools:

* node.js - [http://nodejs.org/](http://nodejs.org/)
* npm - should be shipped with node.js, on Linux may need to be installed as a separate
package
* ant - [http://ant.apache.org/](http://ant.apache.org/)

To update the npm-based pre-reqs, you will also need:

* npm - should be shipped with node.js, on Linux may need to be installed as a
separate package

Before doing a weinre build, you will need to create the file
`weinre.build/personal.properties`. Use the `sample.personal.properties` as a template.
The build should fail if this file is not available.
`weinre.build/personal.properties`. Use the `sample.personal.properties` as a
template. The build should fail if this file is not available.

To update the version label of weinre, edit the file `weinre.build/build.properties`.
If the version has a `-pre` suffix, this triggers the build to artifacts with
timestamped names. For an 'official' build, do not use the `-pre` suffix.
To update the version label of weinre, edit the file
`weinre.build/build.properties`. If the version has a `-pre` suffix, this
triggers the build to artifacts with timestamped names. For an 'official'
build, do not use the `-pre` suffix.

There are two ways to build weinre:

@@ -85,19 +89,19 @@ These will be stored in the `weinre.build/cached` directory.
### to perform the full build: ###

* run: `cd weinre.build`
* run: `ant`
* run: `ant build-archives`

This will run the development build (see below), and then create zip archives of
the build in the `weinre.build/out/archives` directory.
This will run the development build (see below), and then create zip archives
of the build in the `weinre.build/out/archives` directory.

### to perform the development build: ###

* run: `cd weinre.build`
* run: `ant build-dev`
* run: `ant`

This will populate a number of resources in the `weinre.server` directory, so that
you can run weinre directly from that directory for testing. It does not build
the archives.
This will populate a number of resources in the `weinre.server` directory, so
that you can run weinre directly from that directory for testing. It does not
build the archives.

### performing a clean build: ###

@@ -108,43 +112,47 @@ the archives.
### to run the output of the development build: ###

* run: `cd weinre.server`
* run: `node weinre [your flavorite options]`
* run: `./weinre [your flavorite options]`

### other fun development-time hacks ###

If you have the [wr tool](https://github.com/pmuellr/wr) installed, there are
two `.wr` files available to run the two builds. If you run `wr` in the top-level
directory, a full build is performed when the source changes. If you run `wr` in the
`weinre.build` directory, a development-time build is performed.
two `.wr` files available to run the two builds. If you run `wr` in the
top-level directory, a full build is performed when the source changes. If you
run `wr` in the `weinre.build` directory, a development-time build is
performed.

The build is growl-enabled, so you can see a quick message when the build completes.
The build is growl-enabled, so you can see a quick message when the build
completes.

The command `weinre.server/weinre-hot` makes use of
[node-supervisor](https://github.com/isaacs/node-supervisor) to re-launch the
weinre server generated by the development build, whenever a weinre build
completes.

Putting this altogether, you can open two terminal windows, run `wr` in the `weinre.build`
directory to have a development build run whenever you change the source, and then run `weinre-hot` in the `weinre.server` directory to have the weinre server restart whenever a build completes, getting a growl notification at that time.
Putting this altogether, you can open two terminal windows, run `wr` in the
`weinre.build` directory to have a development build run whenever you change
the source, and then run `weinre-hot` in the `weinre.server` directory to have
the weinre server restart whenever a build completes, getting a growl
notification at that time.

updating 3rd party libraries
-----------------------------

> **IMPORTANT** - All 3rd party libraries are stored in the SCM, so that the build does
require 3rd party packages to be downloaded. As such, these files need to be ok to
use and store in the SCM, given their licenses.
If you're adding or updating a 3rd party library, make
sure the license is acceptable, and add/update the license in the top-level `LICENSE`
file.
> **IMPORTANT** - All 3rd party libraries are stored in the SCM, so that the
build does not require 3rd party packages to be downloaded. As such, these
files need to be ok to use and store in the SCM, given their licenses. If
you're adding or updating a 3rd party library, make sure the license is
acceptable, and add/update the license in the top-level `LICENSE` file.
All of the 3rd party dependencies used with weinre are stored in one of two directories:
All of the 3rd party dependencies used with weinre are stored in one of two
directories:

* `weinre.build/vendor` - contains libraries used in the client and/or target,
as well as libraries used by the build itself

* `weinre.server/node_modules` - contains npm packages used by the weinre.server


To update the files in `weinre.build/vendor`:

* edit the file `weinre.build/vendor.properties` as appropriate
@@ -22,4 +22,4 @@
# this script builds enough of weinre to test at development time

cd `dirname $0`
ant build-dev
ant build

0 comments on commit 4318fe3

Please sign in to comment.