• Home
Name Date Size #Lines LOC

..--

test_data/03-May-2024-11,3717,992

.gitignoreD03-May-202426 32

PRESUBMIT.pyD03-May-20243.5 KiB10076

READMED03-May-20242.6 KiB7849

api_categorizer.pyD03-May-20241.7 KiB5138

api_categorizer_test.pyD03-May-20242.4 KiB8367

api_data_source.pyD03-May-20244.2 KiB10787

api_data_source_test.pyD03-May-20245.5 KiB202191

api_list_data_source.pyD03-May-20244.8 KiB124104

api_list_data_source_test.pyD03-May-20247.8 KiB262225

api_models.pyD03-May-20246.8 KiB187141

api_models_test.pyD03-May-20246.5 KiB160128

api_schema_graph.pyD03-May-202413.4 KiB383286

api_schema_graph_test.pyD03-May-202416.7 KiB449418

app.yamlD03-May-2024484 2522

app_engine_handler.pyD03-May-20241.7 KiB5745

app_yaml_helper.pyD03-May-20244.6 KiB128102

app_yaml_helper_test.pyD03-May-20246 KiB180143

appengine_blobstore.pyD03-May-20241.9 KiB5539

appengine_main.pyD03-May-2024645 2411

appengine_url_fetcher.pyD03-May-20242.6 KiB7862

appengine_wrappers.pyD03-May-20248.4 KiB313233

availability_finder.pyD03-May-202419.7 KiB458331

availability_finder_test.pyD03-May-202413.8 KiB298196

blob_reference_store.pyD03-May-20241.1 KiB3927

branch_utility.pyD03-May-20248.3 KiB237190

branch_utility_test.pyD03-May-20247.5 KiB179151

build_server.pyD03-May-20243.3 KiB9071

cache_chain_object_store.pyD03-May-20243.2 KiB8263

cache_chain_object_store_test.pyD03-May-20248.3 KiB185148

caching_file_system.pyD03-May-20247.3 KiB183125

caching_file_system_test.pyD03-May-202411.3 KiB297235

caching_rietveld_patcher.pyD03-May-20244.1 KiB11796

caching_rietveld_patcher_test.pyD03-May-20242.3 KiB7148

chained_compiled_file_system.pyD03-May-20244.1 KiB9563

chained_compiled_file_system_test.pyD03-May-20242.8 KiB7157

chrome-128.pngD03-May-20243.9 KiB

chrome-32.icoD03-May-20245.3 KiB

chroot_file_system.pyD03-May-20241.8 KiB5437

chroot_file_system_test.pyD03-May-20243.6 KiB10385

compiled_file_system.pyD03-May-202410.5 KiB286210

compiled_file_system_test.pyD03-May-20249.3 KiB226181

content_provider.pyD03-May-20248.2 KiB212168

content_provider_test.pyD03-May-20247.6 KiB213177

content_providers.pyD03-May-20247.5 KiB198162

content_providers_test.pyD03-May-20246.6 KiB212183

converter_html_parser.pyD03-May-20241.7 KiB5944

cron.yamlD03-May-2024131 65

cron_servlet.pyD03-May-20247.5 KiB189125

cron_servlet_test.pyD03-May-202410.2 KiB269205

custom_logger.pyD03-May-2024845 2717

data_source.pyD03-May-20241.5 KiB4029

data_source_registry.pyD03-May-20242 KiB5943

datastore_models.pyD03-May-20241.2 KiB3620

directory_zipper.pyD03-May-20242.2 KiB5536

directory_zipper_test.pyD03-May-20241.8 KiB5640

docs_server_utils.pyD03-May-20241.7 KiB6250

docs_server_utils_test.pyD03-May-2024958 3014

document_parser.pyD03-May-20247.4 KiB222157

document_parser_test.pyD03-May-20248.3 KiB258189

document_renderer.pyD03-May-20244.5 KiB11379

document_renderer_test.pyD03-May-20245.7 KiB156115

empty_dir_file_system.pyD03-May-20241,006 3323

environment.pyD03-May-20241.2 KiB4422

environment_test.pyD03-May-20241.6 KiB4630

extensions_paths.pyD03-May-20241.5 KiB5332

fail_on_access_file_system.pyD03-May-2024406 124

fake_fetchers.pyD03-May-20246.1 KiB196145

fake_host_file_system_provider.pyD03-May-2024624 2011

fake_url_fetcher.pyD03-May-20244.8 KiB158125

features_bundle.pyD03-May-202414.5 KiB382283

features_bundle_test.pyD03-May-202415.9 KiB567551

file_system.pyD03-May-20247.7 KiB232174

file_system_test.pyD03-May-20243.6 KiB130102

file_system_util.pyD03-May-2024534 159

future.pyD03-May-20243.9 KiB134103

future_test.pyD03-May-20249.1 KiB286206

gcs_file_system.pyD03-May-20244.6 KiB12896

gcs_file_system_provider.pyD03-May-20243.7 KiB9570

github_file_system.pyD03-May-20247.2 KiB205165

github_file_system_provider.pyD03-May-20241.6 KiB4127

github_file_system_test.pyD03-May-20241.6 KiB4934

gitiles_file_system.pyD03-May-20248.6 KiB235173

gitiles_file_system_test.pyD03-May-20245.1 KiB164125

handler.pyD03-May-20241.7 KiB6044

handler_test.pyD03-May-2024468 199

host_file_system_iterator.pyD03-May-20241.5 KiB3828

host_file_system_iterator_test.pyD03-May-20248 KiB187138

host_file_system_provider.pyD03-May-20244.7 KiB11699

host_file_system_provider_test.pyD03-May-20241.7 KiB4933

instance_servlet.pyD03-May-20243.7 KiB7959

instance_servlet_test.pyD03-May-20242.1 KiB5338

integration_test.pyD03-May-202411.1 KiB292161

jsc_view.pyD03-May-202421.5 KiB567480

jsc_view_test.pyD03-May-202415 KiB407328

known_broken_links.jsonD03-May-202441.8 KiB2,0642,063

link_converter.pyD03-May-20242.9 KiB8871

link_error_detector.pyD03-May-202410.1 KiB307236

link_error_detector_test.pyD03-May-20243 KiB9175

local_file_system.pyD03-May-20243.4 KiB11486

local_file_system_test.pyD03-May-20241,014 4027

local_renderer.pyD03-May-2024686 2114

manifest_data_source.pyD03-May-20245 KiB143114

manifest_data_source_test.pyD03-May-20246.2 KiB296270

manifest_features.pyD03-May-20241.6 KiB4533

manifest_features_test.pyD03-May-20241.1 KiB5645

memcache_object_store.pyD03-May-20241.2 KiB3824

mock_file_system.pyD03-May-20244.4 KiB13999

mock_file_system_test.pyD03-May-20244.6 KiB146123

mock_function.pyD03-May-20241 KiB4128

mock_function_test.pyD03-May-20241.2 KiB4226

new_github_file_system.pyD03-May-202410.9 KiB295229

new_github_file_system_test.pyD03-May-20249.9 KiB281202

object_store.pyD03-May-20241.2 KiB4230

object_store_creator.pyD03-May-20243.2 KiB8157

object_store_creator_test.pyD03-May-20241.9 KiB5540

offline_file_system.pyD03-May-2024897 2717

owners_data_source.pyD03-May-20243.4 KiB10782

owners_data_source_test.pyD03-May-20244.6 KiB190171

patch_servlet.pyD03-May-20244.7 KiB11985

patch_servlet_test.pyD03-May-20246.5 KiB168121

patched_file_system.pyD03-May-20245.5 KiB157121

patched_file_system_test.pyD03-May-20246.5 KiB201155

patcher.pyD03-May-20241 KiB2921

path_canonicalizer.pyD03-May-20244.7 KiB11977

path_canonicalizer_test.pyD03-May-20246 KiB155118

path_util.pyD03-May-20242.7 KiB9662

path_util_test.pyD03-May-20241.9 KiB5137

permissions_data_source.pyD03-May-20243.6 KiB9873

permissions_data_source_test.pyD03-May-20245 KiB176134

persistent_object_store.pyD03-May-20241.6 KiB4834

persistent_object_store_test.pyD03-May-20241.7 KiB4128

platform_bundle.pyD03-May-20245.4 KiB137112

platform_bundle_test.pyD03-May-20244.3 KiB154136

platform_util.pyD03-May-2024912 3922

platform_util_test.pyD03-May-20241.5 KiB4127

preview.pyD03-May-20244.1 KiB12277

queue.yamlD03-May-202489 65

redirector.pyD03-May-20243.7 KiB11385

redirector_test.pyD03-May-20247.5 KiB269222

reference_resolver.pyD03-May-20246.8 KiB185146

reference_resolver_test.pyD03-May-20249.2 KiB395369

refresh_servlet.pyD03-May-20245.4 KiB144116

render_refresher.pyD03-May-20243.4 KiB10279

render_servlet.pyD03-May-20246 KiB152105

render_servlet_test.pyD03-May-20245.9 KiB156117

rietveld_patcher.pyD03-May-20244.5 KiB143110

rietveld_patcher_test.pyD03-May-20242.7 KiB8457

robots.txtD03-May-202451 43

samples_data_source.pyD03-May-20242.7 KiB8262

samples_model.pyD03-May-20246.7 KiB180142

samples_model_test.pyD03-May-20241.2 KiB4529

schema_processor.pyD03-May-20248.4 KiB242197

schema_processor_test.pyD03-May-20246.2 KiB251229

server_instance.pyD03-May-20245.5 KiB134109

servlet.pyD03-May-20244.4 KiB170131

sidenav_data_source.pyD03-May-20243.5 KiB10883

sidenav_data_source_test.pyD03-May-20244.9 KiB161123

special_paths.pyD03-May-2024405 111

start_dev_server.pyD03-May-2024915 3523

strings_data_source.pyD03-May-2024904 3019

subversion_file_system.pyD03-May-20247.7 KiB210154

subversion_file_system_test.pyD03-May-20245.4 KiB144112

table_of_contents_renderer.pyD03-May-20242 KiB5744

template_data_source.pyD03-May-20241.8 KiB6347

template_data_source_test.pyD03-May-20242.3 KiB6850

template_renderer.pyD03-May-20241.6 KiB4433

template_renderer_test.pyD03-May-2024921 3117

test_branch_utility.pyD03-May-20242.2 KiB6852

test_file_system.pyD03-May-20244.7 KiB148108

test_file_system_test.pyD03-May-20247.7 KiB189160

test_object_store.pyD03-May-20242 KiB6647

test_object_store_test.pyD03-May-20241.5 KiB4434

test_patcher.pyD03-May-20241 KiB3625

test_servlet.pyD03-May-20242.7 KiB7457

test_servlet_test.pyD03-May-20241.4 KiB4023

test_util.pyD03-May-20241.7 KiB7046

timer.pyD03-May-20241.7 KiB5946

update_server.pyD03-May-20242 KiB6252

url_constants.pyD03-May-20241.1 KiB2316

whats_new_data_source.pyD03-May-20243.4 KiB10184

whats_new_data_source_test.pyD03-May-20242.9 KiB9986

README

1--------
2Overview
3
4This is a Google App Engine server which serves the documentation for Chrome
5apps and extensions. At time of this writing, the primary URL is:
6http://developer.chrome.com/.
7
8
9---------------------
10Developing the Server
11
12You shouldn't need app engine locally to develop the server, preview.py should
13be sufficient. If for some reason you want to test against the app engine SDK:
14
15  1. Download the python Google App Engine SDK from:
16     https://developers.google.com/appengine/downloads
17
18  2. Run './start_dev_server.py <path/to/dev_appserver.py>'
19     (dev_appserver.py is part of the App Engine)
20
21  3. View docs at http://localhost:8080/(apps|extensions)/<doc_name>
22
23
24--------------------------------------------
25Using Google Cloud Storage content providers
26
27With preview.py:
28
29  1. create a directory "[...]/server2/local_debug/gcs/<bucketname>" for every
30     gcs bucket referenced in content_providers.json
31
32  2. copy files to the respective local bucket directories. Preview.py has
33     no access to the real Google Cloud Storage.
34
35With start_dev_server.py:
36
37    1. Install gsutils from https://developers.google.com/storage/docs/gsutil
38
39    2. Set gsutil accordingly to the official instructions.
40
41    3. Make sure you have permission to the GCS buckets specified in
42       content_providers.json by running "gsutil ls gs://bucketname"
43
44    4. Get an oauth token (see instructions at the comment of
45       gcs_file_system_provider.py) and save it to the file
46       "[...]/server2/local_debug/gcs_debug.conf"
47
48Remember that the step 4 needs to be repeated every 10 minutes or so,
49because the oauth access token expires quickly.
50
51--------------------
52Deploying the Server
53
54You will need to have access to the http://chrome-apps-doc.appspot.com app.
55Contact aa@chromium.org, erikkay@chromium.org, miket@chromium.org,
56kalman@chromium.org, or ernestd@chromium.org to obtain access.
57
58Once you have access:
59
601. Increment the version in app.yaml so we can roll back if the update breaks.
61
622. Run build_server.py. This copies some depenencies from /third_party into the
63   server directory so that they get uploaded to App Engine.
64
653. Run appcfg.py (supplied with the App Engine SDK) to upload the server code:
66
67    appcfg.py update .
68
694. When prompted for your credentials, enter the information for the account
70   that has access to the production app.
71
725. Go to http://www.appspot.com, select the docs project, click "versions" in
73   the sidebar, and make the version you just deployed the "default" version.
74
75   If you get an error about too many versions when deploying, go into this
76   view and delete the version which was deployed the longest time ago.  Then
77   try to deploy again.
78