{"action":"created","comment":{"url":"https://api.github.com/repos/google/earthenterprise/pulls/comments/242662264","pull_request_review_id":186227942,"id":242662264,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDI0MjY2MjI2NA==","diff_hunk":"@@ -0,0 +1,130 @@\n+# Overview of the Build System Used in Open GEE\n+\n+There are, at least, three separate software products in the Open GEE\n+repository:\n+\n+* Server\n+* Fusion\n+* Portable Server\n+\n+Each of them can have a few different items that can be built.  They include:\n+\n+* Binary utilities and libraries\n+* Packages for installing on various operating systems\n+* Documentation for browsing off-line, or publishing on Open GEE Web sites\n+\n+There are a couple of build tools used for building these items:\n+\n+* SCons\n+* Gradle\n+* Python scripts\n+\n+The code and bulid scripts for the different software products (Server,\n+Fusion, Portable Globe) are not modularized, and the build script for one\n+may reference the source code file structure for another.\n+\n+## Building Binary Utilities and Libraries\n+\n+### Server and Fusion Binaries\n+\n+There's virtually no separation between the scripts for building Server and\n+Fusion.\n+\n+This process is performed by running `scons build` in the `earth_enterprise`\n+directory.  It uses the SCons build tool, and has a few components of its own\n+than need to be built before compiling Open GEE source code:\n+\n+* Bundled libraries\n+* Generated source code\n+* Fusion and Server library and executable binaries\n+\n+The SCons scripts for these components use a class named `khEnvironment` that\n+derives from the SCons built-in `Environment`, and adds convenience methods.\n+\n+Server and Fusion can be built with different options.  There is a build\n+directory name that's derived from the build options specified (e.g.,\n+`NATIVE-REL-x86_64` or `NATIVE-DBG-x86_64`), and is created in\n+`earth_enterprise/src` by default.\n+\n+This build directory has some notable subdirectories:\n+\n+* `bin` where built binaries are output\n+* `bin/tests` where built unit and other test binaries are output\n+* `lib` where built shared objects are output, and where shared objects\n+  are looked for during compilation\n+* `include` where include from built libraries are copied, and where header\n+  files are looked for during compilation\n+\n+#### Bundled Libraries\n+\n+Each bundled library has files in a few places:\n+\n+* `earth_enterprise/third_party/<library-name>/<source-code-archive>.tar.gz`\n+* `earth_enterprise/third_party/<library-name>/LICENSE`\n+* `earth_enterprise/src/third_party/<library-name>/SConscript`\n+\n+There may be other files along the source code archive, such as a README file,\n+patch files that are applied to the source code in the archive before\n+building, obsolete `.spec` files for building RPM packages for the library.\n+\n+The `SConscript` file contains the build script that unpacks the library\n+source code archive, applies patches, builds the library, and copies built\n+binaries and other possible resources to the appropriated directories under\n+the current build directory.\n+\n+All bundled libraries are built by\n+`earth_enterprise/src/third_party/SConscript` in an order in which each\n+library depends only on libraries listed before it in the build list.\n+\n+#### Generated Source Code\n+\n+Source code can be generated by Perl scripts, such as `AssetGenDaemonH.pl` and\n+`AssetGenDaemonCpp.pl`.  The Perl commands are usually run from the same\n+`SConscript` that compiles the generated source code and links it into a\n+library, or an executable.\n+\n+#### Library and Executable Binaries\n+\n+Library and executable binaries for Fusion and Server are compiled and linked\n+by `SConscripts` in the various directories under `src`.","path":"earth_enterprise/docs/developer/BuildSystem.md","position":89,"original_position":89,"commit_id":"5b59c1c2582fcdbcd737dff8a5fa33f6256ac649","original_commit_id":"5b59c1c2582fcdbcd737dff8a5fa33f6256ac649","user":{"login":"tst-basilhuffman","id":32067034,"node_id":"MDQ6VXNlcjMyMDY3MDM0","avatar_url":"https://avatars0.githubusercontent.com/u/32067034?v=4","gravatar_id":"","url":"https://api.github.com/users/tst-basilhuffman","html_url":"https://github.com/tst-basilhuffman","followers_url":"https://api.github.com/users/tst-basilhuffman/followers","following_url":"https://api.github.com/users/tst-basilhuffman/following{/other_user}","gists_url":"https://api.github.com/users/tst-basilhuffman/gists{/gist_id}","starred_url":"https://api.github.com/users/tst-basilhuffman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tst-basilhuffman/subscriptions","organizations_url":"https://api.github.com/users/tst-basilhuffman/orgs","repos_url":"https://api.github.com/users/tst-basilhuffman/repos","events_url":"https://api.github.com/users/tst-basilhuffman/events{/privacy}","received_events_url":"https://api.github.com/users/tst-basilhuffman/received_events","type":"User","site_admin":false},"body":"\"... by `SConscript` files in...\"","created_at":"2018-12-18T18:55:35Z","updated_at":"2018-12-18T18:55:35Z","html_url":"https://github.com/google/earthenterprise/pull/1131#discussion_r242662264","pull_request_url":"https://api.github.com/repos/google/earthenterprise/pulls/1131","author_association":"COLLABORATOR","_links":{"self":{"href":"https://api.github.com/repos/google/earthenterprise/pulls/comments/242662264"},"html":{"href":"https://github.com/google/earthenterprise/pull/1131#discussion_r242662264"},"pull_request":{"href":"https://api.github.com/repos/google/earthenterprise/pulls/1131"}}},"pull_request":{"url":"https://api.github.com/repos/google/earthenterprise/pulls/1131","id":239034235,"node_id":"MDExOlB1bGxSZXF1ZXN0MjM5MDM0MjM1","html_url":"https://github.com/google/earthenterprise/pull/1131","diff_url":"https://github.com/google/earthenterprise/pull/1131.diff","patch_url":"https://github.com/google/earthenterprise/pull/1131.patch","issue_url":"https://api.github.com/repos/google/earthenterprise/issues/1131","number":1131,"state":"open","locked":false,"title":"#1130: Add Fusion Memory Usage Tests","user":{"login":"tst-ppenev","id":17442305,"node_id":"MDQ6VXNlcjE3NDQyMzA1","avatar_url":"https://avatars2.githubusercontent.com/u/17442305?v=4","gravatar_id":"","url":"https://api.github.com/users/tst-ppenev","html_url":"https://github.com/tst-ppenev","followers_url":"https://api.github.com/users/tst-ppenev/followers","following_url":"https://api.github.com/users/tst-ppenev/following{/other_user}","gists_url":"https://api.github.com/users/tst-ppenev/gists{/gist_id}","starred_url":"https://api.github.com/users/tst-ppenev/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tst-ppenev/subscriptions","organizations_url":"https://api.github.com/users/tst-ppenev/orgs","repos_url":"https://api.github.com/users/tst-ppenev/repos","events_url":"https://api.github.com/users/tst-ppenev/events{/privacy}","received_events_url":"https://api.github.com/users/tst-ppenev/received_events","type":"User","site_admin":false},"body":"The following resource usage tests have been added:\r\n\r\n* Loading a raster project version from disk.\r\n* Parsing a raster project XML file.\r\n* Adding an asset to the asset cache.\r\n* Adding an asset version to the asset version cache.\r\n* Building a raster project.\r\n\r\nAlso, a unit test reproducing a segmentation fault when running Fusion on an invalid input XML.","created_at":"2018-12-17T05:55:17Z","updated_at":"2018-12-18T18:55:35Z","closed_at":null,"merged_at":null,"merge_commit_sha":"e5dad7bfe8ce310d5c591c5ea86a68088431c08e","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":1110368172,"node_id":"MDU6TGFiZWwxMTEwMzY4MTcy","url":"https://api.github.com/repos/google/earthenterprise/labels/cla:%20yes","name":"cla: yes","color":"2ad38a","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/google/earthenterprise/pulls/1131/commits","review_comments_url":"https://api.github.com/repos/google/earthenterprise/pulls/1131/comments","review_comment_url":"https://api.github.com/repos/google/earthenterprise/pulls/comments{/number}","comments_url":"https://api.github.com/repos/google/earthenterprise/issues/1131/comments","statuses_url":"https://api.github.com/repos/google/earthenterprise/statuses/5b59c1c2582fcdbcd737dff8a5fa33f6256ac649","head":{"label":"tst-ppenev:I1130-fusion-memory-usage-tests","ref":"I1130-fusion-memory-usage-tests","sha":"5b59c1c2582fcdbcd737dff8a5fa33f6256ac649","user":{"login":"tst-ppenev","id":17442305,"node_id":"MDQ6VXNlcjE3NDQyMzA1","avatar_url":"https://avatars2.githubusercontent.com/u/17442305?v=4","gravatar_id":"","url":"https://api.github.com/users/tst-ppenev","html_url":"https://github.com/tst-ppenev","followers_url":"https://api.github.com/users/tst-ppenev/followers","following_url":"https://api.github.com/users/tst-ppenev/following{/other_user}","gists_url":"https://api.github.com/users/tst-ppenev/gists{/gist_id}","starred_url":"https://api.github.com/users/tst-ppenev/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tst-ppenev/subscriptions","organizations_url":"https://api.github.com/users/tst-ppenev/orgs","repos_url":"https://api.github.com/users/tst-ppenev/repos","events_url":"https://api.github.com/users/tst-ppenev/events{/privacy}","received_events_url":"https://api.github.com/users/tst-ppenev/received_events","type":"User","site_admin":false},"repo":{"id":86610794,"node_id":"MDEwOlJlcG9zaXRvcnk4NjYxMDc5NA==","name":"earthenterprise","full_name":"tst-ppenev/earthenterprise","private":false,"owner":{"login":"tst-ppenev","id":17442305,"node_id":"MDQ6VXNlcjE3NDQyMzA1","avatar_url":"https://avatars2.githubusercontent.com/u/17442305?v=4","gravatar_id":"","url":"https://api.github.com/users/tst-ppenev","html_url":"https://github.com/tst-ppenev","followers_url":"https://api.github.com/users/tst-ppenev/followers","following_url":"https://api.github.com/users/tst-ppenev/following{/other_user}","gists_url":"https://api.github.com/users/tst-ppenev/gists{/gist_id}","starred_url":"https://api.github.com/users/tst-ppenev/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tst-ppenev/subscriptions","organizations_url":"https://api.github.com/users/tst-ppenev/orgs","repos_url":"https://api.github.com/users/tst-ppenev/repos","events_url":"https://api.github.com/users/tst-ppenev/events{/privacy}","received_events_url":"https://api.github.com/users/tst-ppenev/received_events","type":"User","site_admin":false},"html_url":"https://github.com/tst-ppenev/earthenterprise","description":"Google Earth Enterprise - Open Source","fork":true,"url":"https://api.github.com/repos/tst-ppenev/earthenterprise","forks_url":"https://api.github.com/repos/tst-ppenev/earthenterprise/forks","keys_url":"https://api.github.com/repos/tst-ppenev/earthenterprise/keys{/key_id}","collaborators_url":"https://api.github.com/repos/tst-ppenev/earthenterprise/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/tst-ppenev/earthenterprise/teams","hooks_url":"https://api.github.com/repos/tst-ppenev/earthenterprise/hooks","issue_events_url":"https://api.github.com/repos/tst-ppenev/earthenterprise/issues/events{/number}","events_url":"https://api.github.com/repos/tst-ppenev/earthenterprise/events","assignees_url":"https://api.github.com/repos/tst-ppenev/earthenterprise/assignees{/user}","branches_url":"https://api.github.com/repos/tst-ppenev/earthenterprise/branches{/branch}","tags_url":"https://api.github.com/repos/tst-ppenev/earthenterprise/tags","blobs_url":"https://api.github.com/repos/tst-ppenev/earthenterprise/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/tst-ppenev/earthenterprise/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/tst-ppenev/earthenterprise/git/refs{/sha}","trees_url":"https://api.github.com/repos/tst-ppenev/earthenterprise/git/trees{/sha}","statuses_url":"https://api.github.com/repos/tst-ppenev/earthenterprise/statuses/{sha}","languages_url":"https://api.github.com/repos/tst-ppenev/earthenterprise/languages","stargazers_url":"https://api.github.com/repos/tst-ppenev/earthenterprise/stargazers","contributors_url":"https://api.github.com/repos/tst-ppenev/earthenterprise/contributors","subscribers_url":"https://api.github.com/repos/tst-ppenev/earthenterprise/subscribers","subscription_url":"https://api.github.com/repos/tst-ppenev/earthenterprise/subscription","commits_url":"https://api.github.com/repos/tst-ppenev/earthenterprise/commits{/sha}","git_commits_url":"https://api.github.com/repos/tst-ppenev/earthenterprise/git/commits{/sha}","comments_url":"https://api.github.com/repos/tst-ppenev/earthenterprise/comments{/number}","issue_comment_url":"https://api.github.com/repos/tst-ppenev/earthenterprise/issues/comments{/number}","contents_url":"https://api.github.com/repos/tst-ppenev/earthenterprise/contents/{+path}","compare_url":"https://api.github.com/repos/tst-ppenev/earthenterprise/compare/{base}...{head}","merges_url":"https://api.github.com/repos/tst-ppenev/earthenterprise/merges","archive_url":"https://api.github.com/repos/tst-ppenev/earthenterprise/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/tst-ppenev/earthenterprise/downloads","issues_url":"https://api.github.com/repos/tst-ppenev/earthenterprise/issues{/number}","pulls_url":"https://api.github.com/repos/tst-ppenev/earthenterprise/pulls{/number}","milestones_url":"https://api.github.com/repos/tst-ppenev/earthenterprise/milestones{/number}","notifications_url":"https://api.github.com/repos/tst-ppenev/earthenterprise/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/tst-ppenev/earthenterprise/labels{/name}","releases_url":"https://api.github.com/repos/tst-ppenev/earthenterprise/releases{/id}","deployments_url":"https://api.github.com/repos/tst-ppenev/earthenterprise/deployments","created_at":"2017-03-29T17:30:48Z","updated_at":"2018-11-16T17:57:01Z","pushed_at":"2018-12-18T09:53:46Z","git_url":"git://github.com/tst-ppenev/earthenterprise.git","ssh_url":"git@github.com:tst-ppenev/earthenterprise.git","clone_url":"https://github.com/tst-ppenev/earthenterprise.git","svn_url":"https://github.com/tst-ppenev/earthenterprise","homepage":"","size":337024,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":false,"has_projects":true,"has_downloads":false,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"google:master","ref":"master","sha":"210a5a5e0df27eb048c3bed9c2e109be7a93b81a","user":{"login":"google","id":1342004,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEzNDIwMDQ=","avatar_url":"https://avatars1.githubusercontent.com/u/1342004?v=4","gravatar_id":"","url":"https://api.github.com/users/google","html_url":"https://github.com/google","followers_url":"https://api.github.com/users/google/followers","following_url":"https://api.github.com/users/google/following{/other_user}","gists_url":"https://api.github.com/users/google/gists{/gist_id}","starred_url":"https://api.github.com/users/google/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/google/subscriptions","organizations_url":"https://api.github.com/users/google/orgs","repos_url":"https://api.github.com/users/google/repos","events_url":"https://api.github.com/users/google/events{/privacy}","received_events_url":"https://api.github.com/users/google/received_events","type":"Organization","site_admin":false},"repo":{"id":85630134,"node_id":"MDEwOlJlcG9zaXRvcnk4NTYzMDEzNA==","name":"earthenterprise","full_name":"google/earthenterprise","private":false,"owner":{"login":"google","id":1342004,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEzNDIwMDQ=","avatar_url":"https://avatars1.githubusercontent.com/u/1342004?v=4","gravatar_id":"","url":"https://api.github.com/users/google","html_url":"https://github.com/google","followers_url":"https://api.github.com/users/google/followers","following_url":"https://api.github.com/users/google/following{/other_user}","gists_url":"https://api.github.com/users/google/gists{/gist_id}","starred_url":"https://api.github.com/users/google/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/google/subscriptions","organizations_url":"https://api.github.com/users/google/orgs","repos_url":"https://api.github.com/users/google/repos","events_url":"https://api.github.com/users/google/events{/privacy}","received_events_url":"https://api.github.com/users/google/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/google/earthenterprise","description":"Google Earth Enterprise - Open Source","fork":false,"url":"https://api.github.com/repos/google/earthenterprise","forks_url":"https://api.github.com/repos/google/earthenterprise/forks","keys_url":"https://api.github.com/repos/google/earthenterprise/keys{/key_id}","collaborators_url":"https://api.github.com/repos/google/earthenterprise/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/google/earthenterprise/teams","hooks_url":"https://api.github.com/repos/google/earthenterprise/hooks","issue_events_url":"https://api.github.com/repos/google/earthenterprise/issues/events{/number}","events_url":"https://api.github.com/repos/google/earthenterprise/events","assignees_url":"https://api.github.com/repos/google/earthenterprise/assignees{/user}","branches_url":"https://api.github.com/repos/google/earthenterprise/branches{/branch}","tags_url":"https://api.github.com/repos/google/earthenterprise/tags","blobs_url":"https://api.github.com/repos/google/earthenterprise/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/google/earthenterprise/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/google/earthenterprise/git/refs{/sha}","trees_url":"https://api.github.com/repos/google/earthenterprise/git/trees{/sha}","statuses_url":"https://api.github.com/repos/google/earthenterprise/statuses/{sha}","languages_url":"https://api.github.com/repos/google/earthenterprise/languages","stargazers_url":"https://api.github.com/repos/google/earthenterprise/stargazers","contributors_url":"https://api.github.com/repos/google/earthenterprise/contributors","subscribers_url":"https://api.github.com/repos/google/earthenterprise/subscribers","subscription_url":"https://api.github.com/repos/google/earthenterprise/subscription","commits_url":"https://api.github.com/repos/google/earthenterprise/commits{/sha}","git_commits_url":"https://api.github.com/repos/google/earthenterprise/git/commits{/sha}","comments_url":"https://api.github.com/repos/google/earthenterprise/comments{/number}","issue_comment_url":"https://api.github.com/repos/google/earthenterprise/issues/comments{/number}","contents_url":"https://api.github.com/repos/google/earthenterprise/contents/{+path}","compare_url":"https://api.github.com/repos/google/earthenterprise/compare/{base}...{head}","merges_url":"https://api.github.com/repos/google/earthenterprise/merges","archive_url":"https://api.github.com/repos/google/earthenterprise/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/google/earthenterprise/downloads","issues_url":"https://api.github.com/repos/google/earthenterprise/issues{/number}","pulls_url":"https://api.github.com/repos/google/earthenterprise/pulls{/number}","milestones_url":"https://api.github.com/repos/google/earthenterprise/milestones{/number}","notifications_url":"https://api.github.com/repos/google/earthenterprise/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/google/earthenterprise/labels{/name}","releases_url":"https://api.github.com/repos/google/earthenterprise/releases{/id}","deployments_url":"https://api.github.com/repos/google/earthenterprise/deployments","created_at":"2017-03-20T21:40:53Z","updated_at":"2018-12-18T14:33:51Z","pushed_at":"2018-12-18T09:53:48Z","git_url":"git://github.com/google/earthenterprise.git","ssh_url":"git@github.com:google/earthenterprise.git","clone_url":"https://github.com/google/earthenterprise.git","svn_url":"https://github.com/google/earthenterprise","homepage":"","size":335955,"stargazers_count":1682,"watchers_count":1682,"language":"JavaScript","has_issues":true,"has_projects":true,"has_downloads":false,"has_wiki":true,"has_pages":true,"forks_count":576,"mirror_url":null,"archived":false,"open_issues_count":240,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":576,"open_issues":240,"watchers":1682,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/google/earthenterprise/pulls/1131"},"html":{"href":"https://github.com/google/earthenterprise/pull/1131"},"issue":{"href":"https://api.github.com/repos/google/earthenterprise/issues/1131"},"comments":{"href":"https://api.github.com/repos/google/earthenterprise/issues/1131/comments"},"review_comments":{"href":"https://api.github.com/repos/google/earthenterprise/pulls/1131/comments"},"review_comment":{"href":"https://api.github.com/repos/google/earthenterprise/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/google/earthenterprise/pulls/1131/commits"},"statuses":{"href":"https://api.github.com/repos/google/earthenterprise/statuses/5b59c1c2582fcdbcd737dff8a5fa33f6256ac649"}},"author_association":"COLLABORATOR"}}
{"actor":{"display_login":"tst-basilhuffman"}}