| layout | default |
|---|---|
| title | Getting the Code |
You can recursively clone and initialize all of {{site.project_title}}'s submodules with a single git command.
To get the code, run:
git clone git://github.com/Polymer/polymer.git --recursive
This creates a polymer/ folder with the following top-level files and folders:
- platform/ — Submodule which contains the platform shims and polyfills.
- test/ — Test cases.
- polymer.js — The {{site.project_title}} kernel
You will also want the samples in tookit-ui. To check this repo, run:
alongside your polymer checkout:
git clone git://github.com/Polymer/toolkit-ui.git --recursive
More on repository structure is below.
To check that your development environment is ready, start a local web server and run one of the included sample projects:
- Start a local web server in the folder where you have
polymer/andtoolkit-uichecked out. - In your browser, navigate to http://localhost/toolkit-ui/workbench/menu.html, or whichever port you started the server on. You should see a menu of items, as shown below.
See Branching Workflow.
Periodically, we will update the projects' submodules on GitHub. To update your local copy's submodules, run the following command from the the repository's folder:
git submodule update --init --recursive
The entirety of the {{site.project_title}} is composed of a number of Git
repositories. Most are included as submodules in the main polymer repository.
However, understanding the various pieces will help you navigate the codebase.
We have factored our repositories into atomic chunks, and then created integration repositories to bring them together again. For example, the following repositories may be useful individually:
CustomElementsHTMLImportsShadowDOMMDVPointerGestures
Other repositories aggregate these individual repositories (as submodules) into useful combinations:
platformpolymertoolkit-ui
Each new web platform feature has a corresponding polyfill repository. The reasoning for this is two-fold:
- make the polyfills work across all modern browsers
- each polyfill can stand on its own and be used à la carte in projects.
The platform repository references each of the polyfills as submodules, and contains integration tests, loader, and build tools for the amalgamated polyfills.
See Tooling Strategy for information.
The polymer repository contains the guts
of the project. It pulls in the platform
polyfill repo as a submodule, contains tools, tests, and hosts the
{{site.project_title}} kernel.
If you want to see the development activity, checkout the master branch directly:
git clone -b master https://github.com/Polymer/polymer.git --recursive
Remember: If you don't specify master, you'll get the stable branch by default. See Branching Workflow for more info.
The toolkit-ui repository contains examples of
the types of things you can do when writing a {{site.project_title}} element.
- elements/ —
g-*custom element definitions. - workbench/ — demos of the {{site.project_title}}-style elements found in
elements/.