{"action":"created","comment":{"url":"https://api.github.com/repos/typetools/checker-framework/pulls/comments/48061610","id":48061610,"diff_hunk":"@@ -326,80 +324,84 @@ def main(argv):\n     old_afu_version = get_afu_version_from_html( anno_html )\n     (old_afu_version, afu_version)       = get_new_version( \"Annotation File Utilities\", old_afu_version, auto )\n \n-    print(\"If you get a warning about deleting existing directories,\")\n-    print(\"it is most likely because you previously ran this script\")\n-    print(\"for the same release versions - please consider whether\")\n-    print(\"you may have any unsaved work in these directories.\")\n-\n-    version_dirs = create_interm_version_dirs( jsr308_version, afu_version, auto )\n-    jsr308_interm_dir            = version_dirs[0]\n-    afu_interm_dir               = version_dirs[1]\n-    checker_framework_interm_dir = version_dirs[2]\n+    if review_documentation:\n+        print_step(\"Build Step 4: Review changelogs.\") # SEMIAUTO\n \n-    # All changelogs should be up-to-date before releasing. However, we manually verify this during\n-    # the build process. This step extracts the changesets that have occurred since the last release\n-    # and writes them to a file. Please look through these changesets and ensure we have not missed\n-    # any relevant messages in the changelog. The release script will indicate what changelog you\n-    # should edit in case there are missing changes. These changes will be committed when you run\n-    # the release_push.py script.\n+        print( \"Verify that all changelog messages follow the guidelines found in README-maintainers.html#changelog_guide\\n\" )\n \n-    print_step(\"Build Step 4: Review changelogs.\") # SEMIAUTO\n+        print( \"Ensure that the changelogs end with a line like\" )\n+        print( \"Resolved issues:  200, 300, 332, 336, 357, 359, 373, 374\\n\" )\n \n-    print(\"TODO: Fix: The commit history retrieval is not working, so the changelogs generated in this step are empty.\")\n+        print( \"List all issues that have been closed since the last release:\\n\" )\n+        # TODO The jsr308-langtools issues list does not seem to be updated often. Is there a better link or should this link be removed?\n+        print( \"https://bitbucket.org/typetools/jsr308-langtools/issues?status=resolved&sort=-updated_on\" )\n+        print( \"https://github.com/typetools/annotation-tools/issues?q=is%3Aissue+is%3Aclosed+sort%3Aupdated-desc\" )\n+        print( \"https://github.com/typetools/checker-framework/issues?q=is%3Aissue+is%3Aclosed+sort%3Aupdated-desc\" )\n+        print( \"\" )\n+        print( \"Finally, please review commits since the last release to ensure they are reflected in the changelogs when appropriate:\\n\" )\n+        print( \"https://bitbucket.org/typetools/jsr308-langtools/commits/all\" )\n+        print( \"https://github.com/typetools/annotation-tools/commits/master\" )\n+        print( \"https://github.com/typetools/checker-framework/commits/master\" )\n \n-    print( \"Verify that all changelog messages follow the guidelines found in README-maintainers.html#changelog_guide\\n\" )\n+        prompt_until_yes()\n \n-    print( \"Finally, ensure that the changelog ends with a line like\\n\" )\n-    print( \"Resolved issues:  200, 300, 332, 336, 357, 359, 373, 374\\n\" )\n+        # This step will write out all of the changes that happened to the individual projects' documentation\n+        # to temporary files. Please review these changes for errors.\n \n-    print( \"List all issues that have been closed since the last release:\\n\" )\n-    print( \"https://github.com/typetools/checker-framework/issues?q=is%3Aissue+is%3Aclosed\\n\" )\n+        print_step(\"Build Step 5: Review documentation changes.\") # SEMIAUTO\n \n-    # If release_build fails later on and you need to restart it, I recommend you make copies of the\n-    # changelogs you modified on your local machine, push the changes to those changelogs, and then\n-    # restart the build process saying \"yes\" to cleaning the repositories. However, this really should\n-    # not happen because the changelogs need to have been updated immediately after code freeze,\n-    # and you should not need to update the logs again here.\n+        print( \"Please review the documentation changes since the last release to ensure that\" )\n+        print( \" * All new features mentioned in the manuals appear in the changelogs, and\" )\n+        print( \" * All new features mentioned in the changelogs are documented in the manuals.\" )\n+        print( \"\" )\n \n-    if not auto:\n         if projects_to_release[LT_OPT]:\n-            propose_changelog_edit( \"jsr308-langtools Type Annotations Compiler\", JSR308_CHANGELOG, TMP_DIR + \"/jsr308.changes\",\n-                                    old_jsr308_version, JSR308_LANGTOOLS , JSR308_TAG_PREFIXES )\n+            propose_change_review( \"the JSR308 documentation updates\", old_jsr308_version, JSR308_LANGTOOLS,\n+                                   JSR308_TAG_PREFIXES, JSR308_LT_DOC, TMP_DIR + \"/jsr308.manual\" )\n \n         if projects_to_release[AFU_OPT]:\n-            propose_changelog_edit( \"Annotation File Utilities\", AFU_CHANGELOG, TMP_DIR + \"/afu.changes\",\n-                                    old_afu_version, ANNO_TOOLS, AFU_TAG_PREFIXES  )\n+            propose_change_review( \"the Annotation File Utilities documentation updates\", old_afu_version, ANNO_TOOLS,\n+                                   AFU_TAG_PREFIXES, AFU_MANUAL, TMP_DIR + \"/afu.manual\"  )\n \n         if projects_to_release[CF_OPT]:\n-            propose_changelog_edit( \"Checker Framework\", CHECKER_CHANGELOG, TMP_DIR + \"/checker-framework.changes\",\n-                                    old_jsr308_version, CHECKER_FRAMEWORK, CHECKER_TAG_PREFIXES )\n-\n-    # This step will write out all of the changes that happened to the individual projects' manuals\n-    # to a temporary file. Please review these changes for errors. You can edit them in the build\n-    # repository and they will be committed by the release_push.py script.\n+            build_checker_framework_release(False, jsr308_version, afu_date, \"\", \"\", manual_only = True)\n+\n+            print(\"\")\n+            print(\"The built Checker Framework manual (HTML and PDF) can be found at \" + CHECKER_MANUAL)\n+            print(\"\")\n+            print(\"Verify that the manual PDF has no lines that are longer than the page width\")\n+            print(\"(it is acceptable for some lines to extend into the right margin).\")\n+            print(\"\")\n+            print(\"If any checkers have been added or removed, then verify that the lists\")\n+            print(\"of checkers in these manual sections are up to date:\")\n+            print(\" * Introduction\")\n+            print(\" * Run-time tests and type refinement\")\n+            print(\"and make sure that the checkers supported in the Eclipse plug-in are up to date\")\n+            print(\"by following the instructions at eclipse/README-developers.html#update_checkers\")\n+            print(\"\")\n+\n+            propose_change_review( \"the Checker Framework documentation updates\", old_jsr308_version, CHECKER_FRAMEWORK,\n+                                   CHECKER_TAG_PREFIXES, CHECKER_MANUAL, TMP_DIR + \"/checker-framework.manual\"  )\n \n-    print_step(\"Build Step 5: Review manual changes.\") # SEMIAUTO\n+        return\n \n-    print(\"If any checkers have been added or removed, then verify that the lists\")\n-    print(\"of checkers in these manual sections are up to date:\")\n-    print(\" * Introduction\")\n-    print(\" * Run-time tests and type refinement\")\n+    print_step(\"Build Step 4: Copy entire live site to dev site (~22 minutes).\") # AUTO\n \n-    print(\"Verify that the manual PDF has no lines that are longer than the page width\")\n-    print(\"(it is acceptable for some lines to extend into the right margin).\")\n+    # TODO: Ask support to delete the dev_old directory as it has files I cannot delete or chmod, then remove \"--exclude=dev_old\" from the command below.","path":"release/release_build.py","position":291,"original_position":291,"commit_id":"b6d9c6c3bda1e606acc28f70dcc06f784e721725","original_commit_id":"b6d9c6c3bda1e606acc28f70dcc06f784e721725","user":{"login":"jthaine","id":7230054,"avatar_url":"https://avatars.githubusercontent.com/u/7230054?v=3","gravatar_id":"","url":"https://api.github.com/users/jthaine","html_url":"https://github.com/jthaine","followers_url":"https://api.github.com/users/jthaine/followers","following_url":"https://api.github.com/users/jthaine/following{/other_user}","gists_url":"https://api.github.com/users/jthaine/gists{/gist_id}","starred_url":"https://api.github.com/users/jthaine/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jthaine/subscriptions","organizations_url":"https://api.github.com/users/jthaine/orgs","repos_url":"https://api.github.com/users/jthaine/repos","events_url":"https://api.github.com/users/jthaine/events{/privacy}","received_events_url":"https://api.github.com/users/jthaine/received_events","type":"User","site_admin":false},"body":"Request submitted. I now have enough confidence to delete the old dev site after having tested the build script a few times.","created_at":"2015-12-18T19:40:30Z","updated_at":"2015-12-18T19:40:30Z","html_url":"https://github.com/typetools/checker-framework/pull/537#discussion_r48061610","pull_request_url":"https://api.github.com/repos/typetools/checker-framework/pulls/537","_links":{"self":{"href":"https://api.github.com/repos/typetools/checker-framework/pulls/comments/48061610"},"html":{"href":"https://github.com/typetools/checker-framework/pull/537#discussion_r48061610"},"pull_request":{"href":"https://api.github.com/repos/typetools/checker-framework/pulls/537"}}},"pull_request":{"url":"https://api.github.com/repos/typetools/checker-framework/pulls/537","id":53903300,"html_url":"https://github.com/typetools/checker-framework/pull/537","diff_url":"https://github.com/typetools/checker-framework/pull/537.diff","patch_url":"https://github.com/typetools/checker-framework/pull/537.patch","issue_url":"https://api.github.com/repos/typetools/checker-framework/issues/537","number":537,"state":"open","locked":false,"title":"Script fixes to clarify and further automate the release process","user":{"login":"jthaine","id":7230054,"avatar_url":"https://avatars.githubusercontent.com/u/7230054?v=3","gravatar_id":"","url":"https://api.github.com/users/jthaine","html_url":"https://github.com/jthaine","followers_url":"https://api.github.com/users/jthaine/followers","following_url":"https://api.github.com/users/jthaine/following{/other_user}","gists_url":"https://api.github.com/users/jthaine/gists{/gist_id}","starred_url":"https://api.github.com/users/jthaine/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jthaine/subscriptions","organizations_url":"https://api.github.com/users/jthaine/orgs","repos_url":"https://api.github.com/users/jthaine/repos","events_url":"https://api.github.com/users/jthaine/events{/privacy}","received_events_url":"https://api.github.com/users/jthaine/received_events","type":"User","site_admin":false},"body":"","created_at":"2015-12-16T21:46:35Z","updated_at":"2015-12-18T19:40:30Z","closed_at":null,"merged_at":null,"merge_commit_sha":"9069ae47ee66f9d612c5d358cb2b57e8cd385708","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/typetools/checker-framework/pulls/537/commits","review_comments_url":"https://api.github.com/repos/typetools/checker-framework/pulls/537/comments","review_comment_url":"https://api.github.com/repos/typetools/checker-framework/pulls/comments{/number}","comments_url":"https://api.github.com/repos/typetools/checker-framework/issues/537/comments","statuses_url":"https://api.github.com/repos/typetools/checker-framework/statuses/b6d9c6c3bda1e606acc28f70dcc06f784e721725","head":{"label":"typetools:release_script_fixes","ref":"release_script_fixes","sha":"b6d9c6c3bda1e606acc28f70dcc06f784e721725","user":{"login":"typetools","id":12883499,"avatar_url":"https://avatars.githubusercontent.com/u/12883499?v=3","gravatar_id":"","url":"https://api.github.com/users/typetools","html_url":"https://github.com/typetools","followers_url":"https://api.github.com/users/typetools/followers","following_url":"https://api.github.com/users/typetools/following{/other_user}","gists_url":"https://api.github.com/users/typetools/gists{/gist_id}","starred_url":"https://api.github.com/users/typetools/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/typetools/subscriptions","organizations_url":"https://api.github.com/users/typetools/orgs","repos_url":"https://api.github.com/users/typetools/repos","events_url":"https://api.github.com/users/typetools/events{/privacy}","received_events_url":"https://api.github.com/users/typetools/received_events","type":"Organization","site_admin":false},"repo":{"id":38488726,"name":"checker-framework","full_name":"typetools/checker-framework","owner":{"login":"typetools","id":12883499,"avatar_url":"https://avatars.githubusercontent.com/u/12883499?v=3","gravatar_id":"","url":"https://api.github.com/users/typetools","html_url":"https://github.com/typetools","followers_url":"https://api.github.com/users/typetools/followers","following_url":"https://api.github.com/users/typetools/following{/other_user}","gists_url":"https://api.github.com/users/typetools/gists{/gist_id}","starred_url":"https://api.github.com/users/typetools/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/typetools/subscriptions","organizations_url":"https://api.github.com/users/typetools/orgs","repos_url":"https://api.github.com/users/typetools/repos","events_url":"https://api.github.com/users/typetools/events{/privacy}","received_events_url":"https://api.github.com/users/typetools/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/typetools/checker-framework","description":"Pluggable type-checking for Java","fork":false,"url":"https://api.github.com/repos/typetools/checker-framework","forks_url":"https://api.github.com/repos/typetools/checker-framework/forks","keys_url":"https://api.github.com/repos/typetools/checker-framework/keys{/key_id}","collaborators_url":"https://api.github.com/repos/typetools/checker-framework/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/typetools/checker-framework/teams","hooks_url":"https://api.github.com/repos/typetools/checker-framework/hooks","issue_events_url":"https://api.github.com/repos/typetools/checker-framework/issues/events{/number}","events_url":"https://api.github.com/repos/typetools/checker-framework/events","assignees_url":"https://api.github.com/repos/typetools/checker-framework/assignees{/user}","branches_url":"https://api.github.com/repos/typetools/checker-framework/branches{/branch}","tags_url":"https://api.github.com/repos/typetools/checker-framework/tags","blobs_url":"https://api.github.com/repos/typetools/checker-framework/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/typetools/checker-framework/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/typetools/checker-framework/git/refs{/sha}","trees_url":"https://api.github.com/repos/typetools/checker-framework/git/trees{/sha}","statuses_url":"https://api.github.com/repos/typetools/checker-framework/statuses/{sha}","languages_url":"https://api.github.com/repos/typetools/checker-framework/languages","stargazers_url":"https://api.github.com/repos/typetools/checker-framework/stargazers","contributors_url":"https://api.github.com/repos/typetools/checker-framework/contributors","subscribers_url":"https://api.github.com/repos/typetools/checker-framework/subscribers","subscription_url":"https://api.github.com/repos/typetools/checker-framework/subscription","commits_url":"https://api.github.com/repos/typetools/checker-framework/commits{/sha}","git_commits_url":"https://api.github.com/repos/typetools/checker-framework/git/commits{/sha}","comments_url":"https://api.github.com/repos/typetools/checker-framework/comments{/number}","issue_comment_url":"https://api.github.com/repos/typetools/checker-framework/issues/comments{/number}","contents_url":"https://api.github.com/repos/typetools/checker-framework/contents/{+path}","compare_url":"https://api.github.com/repos/typetools/checker-framework/compare/{base}...{head}","merges_url":"https://api.github.com/repos/typetools/checker-framework/merges","archive_url":"https://api.github.com/repos/typetools/checker-framework/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/typetools/checker-framework/downloads","issues_url":"https://api.github.com/repos/typetools/checker-framework/issues{/number}","pulls_url":"https://api.github.com/repos/typetools/checker-framework/pulls{/number}","milestones_url":"https://api.github.com/repos/typetools/checker-framework/milestones{/number}","notifications_url":"https://api.github.com/repos/typetools/checker-framework/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/typetools/checker-framework/labels{/name}","releases_url":"https://api.github.com/repos/typetools/checker-framework/releases{/id}","created_at":"2015-07-03T11:09:17Z","updated_at":"2015-12-16T04:56:18Z","pushed_at":"2015-12-18T17:56:45Z","git_url":"git://github.com/typetools/checker-framework.git","ssh_url":"git@github.com:typetools/checker-framework.git","clone_url":"https://github.com/typetools/checker-framework.git","svn_url":"https://github.com/typetools/checker-framework","homepage":"http://checkerframework.org/","size":171741,"stargazers_count":67,"watchers_count":67,"language":"Java","has_issues":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"forks_count":23,"mirror_url":null,"open_issues_count":144,"forks":23,"open_issues":144,"watchers":67,"default_branch":"master"}},"base":{"label":"typetools:master","ref":"master","sha":"58defd38d61844fafed7a82cee32ddf57961b1f5","user":{"login":"typetools","id":12883499,"avatar_url":"https://avatars.githubusercontent.com/u/12883499?v=3","gravatar_id":"","url":"https://api.github.com/users/typetools","html_url":"https://github.com/typetools","followers_url":"https://api.github.com/users/typetools/followers","following_url":"https://api.github.com/users/typetools/following{/other_user}","gists_url":"https://api.github.com/users/typetools/gists{/gist_id}","starred_url":"https://api.github.com/users/typetools/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/typetools/subscriptions","organizations_url":"https://api.github.com/users/typetools/orgs","repos_url":"https://api.github.com/users/typetools/repos","events_url":"https://api.github.com/users/typetools/events{/privacy}","received_events_url":"https://api.github.com/users/typetools/received_events","type":"Organization","site_admin":false},"repo":{"id":38488726,"name":"checker-framework","full_name":"typetools/checker-framework","owner":{"login":"typetools","id":12883499,"avatar_url":"https://avatars.githubusercontent.com/u/12883499?v=3","gravatar_id":"","url":"https://api.github.com/users/typetools","html_url":"https://github.com/typetools","followers_url":"https://api.github.com/users/typetools/followers","following_url":"https://api.github.com/users/typetools/following{/other_user}","gists_url":"https://api.github.com/users/typetools/gists{/gist_id}","starred_url":"https://api.github.com/users/typetools/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/typetools/subscriptions","organizations_url":"https://api.github.com/users/typetools/orgs","repos_url":"https://api.github.com/users/typetools/repos","events_url":"https://api.github.com/users/typetools/events{/privacy}","received_events_url":"https://api.github.com/users/typetools/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/typetools/checker-framework","description":"Pluggable type-checking for Java","fork":false,"url":"https://api.github.com/repos/typetools/checker-framework","forks_url":"https://api.github.com/repos/typetools/checker-framework/forks","keys_url":"https://api.github.com/repos/typetools/checker-framework/keys{/key_id}","collaborators_url":"https://api.github.com/repos/typetools/checker-framework/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/typetools/checker-framework/teams","hooks_url":"https://api.github.com/repos/typetools/checker-framework/hooks","issue_events_url":"https://api.github.com/repos/typetools/checker-framework/issues/events{/number}","events_url":"https://api.github.com/repos/typetools/checker-framework/events","assignees_url":"https://api.github.com/repos/typetools/checker-framework/assignees{/user}","branches_url":"https://api.github.com/repos/typetools/checker-framework/branches{/branch}","tags_url":"https://api.github.com/repos/typetools/checker-framework/tags","blobs_url":"https://api.github.com/repos/typetools/checker-framework/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/typetools/checker-framework/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/typetools/checker-framework/git/refs{/sha}","trees_url":"https://api.github.com/repos/typetools/checker-framework/git/trees{/sha}","statuses_url":"https://api.github.com/repos/typetools/checker-framework/statuses/{sha}","languages_url":"https://api.github.com/repos/typetools/checker-framework/languages","stargazers_url":"https://api.github.com/repos/typetools/checker-framework/stargazers","contributors_url":"https://api.github.com/repos/typetools/checker-framework/contributors","subscribers_url":"https://api.github.com/repos/typetools/checker-framework/subscribers","subscription_url":"https://api.github.com/repos/typetools/checker-framework/subscription","commits_url":"https://api.github.com/repos/typetools/checker-framework/commits{/sha}","git_commits_url":"https://api.github.com/repos/typetools/checker-framework/git/commits{/sha}","comments_url":"https://api.github.com/repos/typetools/checker-framework/comments{/number}","issue_comment_url":"https://api.github.com/repos/typetools/checker-framework/issues/comments{/number}","contents_url":"https://api.github.com/repos/typetools/checker-framework/contents/{+path}","compare_url":"https://api.github.com/repos/typetools/checker-framework/compare/{base}...{head}","merges_url":"https://api.github.com/repos/typetools/checker-framework/merges","archive_url":"https://api.github.com/repos/typetools/checker-framework/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/typetools/checker-framework/downloads","issues_url":"https://api.github.com/repos/typetools/checker-framework/issues{/number}","pulls_url":"https://api.github.com/repos/typetools/checker-framework/pulls{/number}","milestones_url":"https://api.github.com/repos/typetools/checker-framework/milestones{/number}","notifications_url":"https://api.github.com/repos/typetools/checker-framework/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/typetools/checker-framework/labels{/name}","releases_url":"https://api.github.com/repos/typetools/checker-framework/releases{/id}","created_at":"2015-07-03T11:09:17Z","updated_at":"2015-12-16T04:56:18Z","pushed_at":"2015-12-18T17:56:45Z","git_url":"git://github.com/typetools/checker-framework.git","ssh_url":"git@github.com:typetools/checker-framework.git","clone_url":"https://github.com/typetools/checker-framework.git","svn_url":"https://github.com/typetools/checker-framework","homepage":"http://checkerframework.org/","size":171741,"stargazers_count":67,"watchers_count":67,"language":"Java","has_issues":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"forks_count":23,"mirror_url":null,"open_issues_count":144,"forks":23,"open_issues":144,"watchers":67,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/typetools/checker-framework/pulls/537"},"html":{"href":"https://github.com/typetools/checker-framework/pull/537"},"issue":{"href":"https://api.github.com/repos/typetools/checker-framework/issues/537"},"comments":{"href":"https://api.github.com/repos/typetools/checker-framework/issues/537/comments"},"review_comments":{"href":"https://api.github.com/repos/typetools/checker-framework/pulls/537/comments"},"review_comment":{"href":"https://api.github.com/repos/typetools/checker-framework/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/typetools/checker-framework/pulls/537/commits"},"statuses":{"href":"https://api.github.com/repos/typetools/checker-framework/statuses/b6d9c6c3bda1e606acc28f70dcc06f784e721725"}}}}