Skip to content
This repository has been archived by the owner on Jun 12, 2024. It is now read-only.

Build instructions

somogyi-google edited this page Dec 16, 2014 · 3 revisions

Requirements

Building End-To-End should be fairly easy on any Linux or Mac OS X system, however OS X users need to install JDK 1.7 from Oracle (http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html). A Windows build environment is not supported.

To build End-To-End, the following requirements must be met:

  • bash
  • git
  • curl
  • unzip
  • ant
  • JDK 1.7
  • Python

Usage

Every task can be run from do.sh Bash script:

$ ./do.sh
Usage: ./do.sh {build_extension|build_library|build_templates|clean|check_deps|install_deps|testserver}

Setup

$ git clone https://github.com/google/end-to-end
[...]
$ cd end-to-end/
$ ./do.sh install_deps
Installing build dependencies...
...

Building the End-To-End extension

$ ./do.sh build_extension
All dependencies met.
All dependencies met.
Compiling Soy templates...
Done.
Using previous template build - ./do.sh clean if you with to rebuild the templates.
Building End-To-End extension to build/extension
Compiling JS files...
......
Compiling CSS files...
Copying extension files...
Done.
$ ls build/extension/
glass_binary.js   images              prompt.html          welcome_binary.js
glass.html        launcher_binary.js  prompt_styles.css    welcome.html
glass_styles.css  _locales            settings_binary.js   welcome_styles.css
gmonkeystub.js    manifest.json       settings.html
helper_binary.js  prompt_binary.js    settings_styles.css

The extension can be now loaded into Chrome by navigating to chrome://extensions page, turning on "Developer mode" and using the 'Load unpacked extension...' button.

Building the library only

$ ./do.sh build_library
All dependencies met.
Building End-To-End library into build/library ...
..
Done.
$ ls build/library/
end-to-end.compiled.js  end-to-end.debug.js

Generated files can now be loaded in a <script> tag. OpenPGP functions are provided via e2e.openpgp.ContextImpl object.

Starting the test server

$ ./do.sh testserver
Using previous template build - ./do.sh clean if you with to rebuild the templates.
Generating build/test_js_deps-runfiles.js file...
Starting the End-To-End test server (Press Ctrl-C to stop)...
Starting test server at http://127.0.0.1:8000

Grunt

For convenience, Gruntfile has been included to allow running the same tasks with Grunt (http://gruntjs.com/). Grunt and node.js are not required to build End-To-End though.