{"action":"created","comment":{"url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/pulls/comments/183074904","pull_request_review_id":113998347,"id":183074904,"diff_hunk":"@@ -12,166 +12,81 @@\n  */\n package org.sonatype.nexus.ci.nxrm\n \n-import com.sonatype.nexus.api.exception.RepositoryManagerException\n-import com.sonatype.nexus.api.repository.v2.GAV\n-import com.sonatype.nexus.api.repository.v2.RepositoryManagerV2Client\n-\n-import org.sonatype.nexus.ci.config.GlobalNexusConfiguration\n import org.sonatype.nexus.ci.config.NxrmConfiguration\n-import org.sonatype.nexus.ci.util.FormUtil\n-import org.sonatype.nexus.ci.util.RepositoryManagerClientUtil\n \n import hudson.EnvVars\n import hudson.FilePath\n import hudson.model.Result\n import hudson.model.Run\n import hudson.model.TaskListener\n-import hudson.util.FormValidation.Kind\n \n @SuppressWarnings(['CatchException', 'AbcMetric', 'MethodSize'])\n-class ComponentUploader\n+abstract class ComponentUploader\n {\n-  private final Run run\n+  protected final NxrmConfiguration nxrmConfiguration\n+\n+  protected final Run run\n \n-  private final PrintStream logger\n+  protected final PrintStream logger\n \n-  private final EnvVars envVars\n+  protected final EnvVars envVars\n \n-  ComponentUploader(final Run run,\n-                    final TaskListener taskListener)\n+  protected ComponentUploader(final NxrmConfiguration nxrmConfiguration,\n+                              final Run run,\n+                              final TaskListener taskListener)\n   {\n+    this.nxrmConfiguration = nxrmConfiguration\n     this.run = run\n     this.logger = taskListener.getLogger()\n     this.envVars = run.getEnvironment(taskListener)\n   }\n \n+  protected abstract void upload(Map<MavenCoordinate, List<RemoteMavenAsset>> remoteMavenComponents,\n+                                           String nxrmRepositoryId)","path":"src/main/java/org/sonatype/nexus/ci/nxrm/ComponentUploader.groovy","position":48,"original_position":48,"commit_id":"39b6afa34f1fca7a828e0db16c07d90ef9c6b656","original_commit_id":"39b6afa34f1fca7a828e0db16c07d90ef9c6b656","user":{"login":"nmcafee","id":8170877,"avatar_url":"https://avatars2.githubusercontent.com/u/8170877?v=4","gravatar_id":"","url":"https://api.github.com/users/nmcafee","html_url":"https://github.com/nmcafee","followers_url":"https://api.github.com/users/nmcafee/followers","following_url":"https://api.github.com/users/nmcafee/following{/other_user}","gists_url":"https://api.github.com/users/nmcafee/gists{/gist_id}","starred_url":"https://api.github.com/users/nmcafee/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nmcafee/subscriptions","organizations_url":"https://api.github.com/users/nmcafee/orgs","repos_url":"https://api.github.com/users/nmcafee/repos","events_url":"https://api.github.com/users/nmcafee/events{/privacy}","received_events_url":"https://api.github.com/users/nmcafee/received_events","type":"User","site_admin":false},"body":"Final on nxrmRepositoryId","created_at":"2018-04-20T14:49:38Z","updated_at":"2018-04-20T14:51:26Z","html_url":"https://github.com/sonatype/nexus-platform-plugin/pull/9#discussion_r183074904","pull_request_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/pulls/9","author_association":"NONE","_links":{"self":{"href":"https://api.github.com/repos/sonatype/nexus-platform-plugin/pulls/comments/183074904"},"html":{"href":"https://github.com/sonatype/nexus-platform-plugin/pull/9#discussion_r183074904"},"pull_request":{"href":"https://api.github.com/repos/sonatype/nexus-platform-plugin/pulls/9"}}},"pull_request":{"url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/pulls/9","id":182926173,"html_url":"https://github.com/sonatype/nexus-platform-plugin/pull/9","diff_url":"https://github.com/sonatype/nexus-platform-plugin/pull/9.diff","patch_url":"https://github.com/sonatype/nexus-platform-plugin/pull/9.patch","issue_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/issues/9","number":9,"state":"open","locked":false,"title":"NEXUS-15138: nxrm3 component upload","user":{"login":"wrightkris","id":30060871,"avatar_url":"https://avatars1.githubusercontent.com/u/30060871?v=4","gravatar_id":"","url":"https://api.github.com/users/wrightkris","html_url":"https://github.com/wrightkris","followers_url":"https://api.github.com/users/wrightkris/followers","following_url":"https://api.github.com/users/wrightkris/following{/other_user}","gists_url":"https://api.github.com/users/wrightkris/gists{/gist_id}","starred_url":"https://api.github.com/users/wrightkris/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wrightkris/subscriptions","organizations_url":"https://api.github.com/users/wrightkris/orgs","repos_url":"https://api.github.com/users/wrightkris/repos","events_url":"https://api.github.com/users/wrightkris/events{/privacy}","received_events_url":"https://api.github.com/users/wrightkris/received_events","type":"User","site_admin":false},"body":"Modifies existing nexus publisher build step to support NXRM3 component upload\r\n\r\nJIRA: https://issues.sonatype.org/browse/NEXUS-15138\r\nCI: https://jenkins.zion.aws.s/job/integrations/job/jenkins/job/sonatype-nexus-platform-plugin-feature/job/NEXUS-15138_nx3_component_upload/","created_at":"2018-04-19T23:40:11Z","updated_at":"2018-04-20T14:51:26Z","closed_at":null,"merged_at":null,"merge_commit_sha":"e5e116e96e301f114cb840ac26e752dc9a5dfaed","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/pulls/9/commits","review_comments_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/pulls/9/comments","review_comment_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/pulls/comments{/number}","comments_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/issues/9/comments","statuses_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/statuses/39b6afa34f1fca7a828e0db16c07d90ef9c6b656","head":{"label":"sonatype:NEXUS-15138_nx3_component_upload","ref":"NEXUS-15138_nx3_component_upload","sha":"39b6afa34f1fca7a828e0db16c07d90ef9c6b656","user":{"login":"sonatype","id":44938,"avatar_url":"https://avatars0.githubusercontent.com/u/44938?v=4","gravatar_id":"","url":"https://api.github.com/users/sonatype","html_url":"https://github.com/sonatype","followers_url":"https://api.github.com/users/sonatype/followers","following_url":"https://api.github.com/users/sonatype/following{/other_user}","gists_url":"https://api.github.com/users/sonatype/gists{/gist_id}","starred_url":"https://api.github.com/users/sonatype/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sonatype/subscriptions","organizations_url":"https://api.github.com/users/sonatype/orgs","repos_url":"https://api.github.com/users/sonatype/repos","events_url":"https://api.github.com/users/sonatype/events{/privacy}","received_events_url":"https://api.github.com/users/sonatype/received_events","type":"Organization","site_admin":false},"repo":{"id":123488182,"name":"nexus-platform-plugin","full_name":"sonatype/nexus-platform-plugin","owner":{"login":"sonatype","id":44938,"avatar_url":"https://avatars0.githubusercontent.com/u/44938?v=4","gravatar_id":"","url":"https://api.github.com/users/sonatype","html_url":"https://github.com/sonatype","followers_url":"https://api.github.com/users/sonatype/followers","following_url":"https://api.github.com/users/sonatype/following{/other_user}","gists_url":"https://api.github.com/users/sonatype/gists{/gist_id}","starred_url":"https://api.github.com/users/sonatype/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sonatype/subscriptions","organizations_url":"https://api.github.com/users/sonatype/orgs","repos_url":"https://api.github.com/users/sonatype/repos","events_url":"https://api.github.com/users/sonatype/events{/privacy}","received_events_url":"https://api.github.com/users/sonatype/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/sonatype/nexus-platform-plugin","description":"Nexus Platform Plugin for Jenkins","fork":true,"url":"https://api.github.com/repos/sonatype/nexus-platform-plugin","forks_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/forks","keys_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/keys{/key_id}","collaborators_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/teams","hooks_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/hooks","issue_events_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/issues/events{/number}","events_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/events","assignees_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/assignees{/user}","branches_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/branches{/branch}","tags_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/tags","blobs_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/git/refs{/sha}","trees_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/git/trees{/sha}","statuses_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/statuses/{sha}","languages_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/languages","stargazers_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/stargazers","contributors_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/contributors","subscribers_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/subscribers","subscription_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/subscription","commits_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/commits{/sha}","git_commits_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/git/commits{/sha}","comments_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/comments{/number}","issue_comment_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/issues/comments{/number}","contents_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/contents/{+path}","compare_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/compare/{base}...{head}","merges_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/merges","archive_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/downloads","issues_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/issues{/number}","pulls_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/pulls{/number}","milestones_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/milestones{/number}","notifications_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/labels{/name}","releases_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/releases{/id}","deployments_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/deployments","created_at":"2018-03-01T20:23:20Z","updated_at":"2018-04-18T18:53:08Z","pushed_at":"2018-04-19T23:40:12Z","git_url":"git://github.com/sonatype/nexus-platform-plugin.git","ssh_url":"git@github.com:sonatype/nexus-platform-plugin.git","clone_url":"https://github.com/sonatype/nexus-platform-plugin.git","svn_url":"https://github.com/sonatype/nexus-platform-plugin","homepage":null,"size":367,"stargazers_count":0,"watchers_count":0,"language":"Groovy","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"open_issues_count":1,"license":null,"forks":1,"open_issues":1,"watchers":0,"default_branch":"master"}},"base":{"label":"sonatype:master","ref":"master","sha":"2009509051fc16a158c066545f2370cb52abc469","user":{"login":"sonatype","id":44938,"avatar_url":"https://avatars0.githubusercontent.com/u/44938?v=4","gravatar_id":"","url":"https://api.github.com/users/sonatype","html_url":"https://github.com/sonatype","followers_url":"https://api.github.com/users/sonatype/followers","following_url":"https://api.github.com/users/sonatype/following{/other_user}","gists_url":"https://api.github.com/users/sonatype/gists{/gist_id}","starred_url":"https://api.github.com/users/sonatype/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sonatype/subscriptions","organizations_url":"https://api.github.com/users/sonatype/orgs","repos_url":"https://api.github.com/users/sonatype/repos","events_url":"https://api.github.com/users/sonatype/events{/privacy}","received_events_url":"https://api.github.com/users/sonatype/received_events","type":"Organization","site_admin":false},"repo":{"id":123488182,"name":"nexus-platform-plugin","full_name":"sonatype/nexus-platform-plugin","owner":{"login":"sonatype","id":44938,"avatar_url":"https://avatars0.githubusercontent.com/u/44938?v=4","gravatar_id":"","url":"https://api.github.com/users/sonatype","html_url":"https://github.com/sonatype","followers_url":"https://api.github.com/users/sonatype/followers","following_url":"https://api.github.com/users/sonatype/following{/other_user}","gists_url":"https://api.github.com/users/sonatype/gists{/gist_id}","starred_url":"https://api.github.com/users/sonatype/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sonatype/subscriptions","organizations_url":"https://api.github.com/users/sonatype/orgs","repos_url":"https://api.github.com/users/sonatype/repos","events_url":"https://api.github.com/users/sonatype/events{/privacy}","received_events_url":"https://api.github.com/users/sonatype/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/sonatype/nexus-platform-plugin","description":"Nexus Platform Plugin for Jenkins","fork":true,"url":"https://api.github.com/repos/sonatype/nexus-platform-plugin","forks_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/forks","keys_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/keys{/key_id}","collaborators_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/teams","hooks_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/hooks","issue_events_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/issues/events{/number}","events_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/events","assignees_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/assignees{/user}","branches_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/branches{/branch}","tags_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/tags","blobs_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/git/refs{/sha}","trees_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/git/trees{/sha}","statuses_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/statuses/{sha}","languages_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/languages","stargazers_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/stargazers","contributors_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/contributors","subscribers_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/subscribers","subscription_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/subscription","commits_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/commits{/sha}","git_commits_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/git/commits{/sha}","comments_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/comments{/number}","issue_comment_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/issues/comments{/number}","contents_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/contents/{+path}","compare_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/compare/{base}...{head}","merges_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/merges","archive_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/downloads","issues_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/issues{/number}","pulls_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/pulls{/number}","milestones_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/milestones{/number}","notifications_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/labels{/name}","releases_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/releases{/id}","deployments_url":"https://api.github.com/repos/sonatype/nexus-platform-plugin/deployments","created_at":"2018-03-01T20:23:20Z","updated_at":"2018-04-18T18:53:08Z","pushed_at":"2018-04-19T23:40:12Z","git_url":"git://github.com/sonatype/nexus-platform-plugin.git","ssh_url":"git@github.com:sonatype/nexus-platform-plugin.git","clone_url":"https://github.com/sonatype/nexus-platform-plugin.git","svn_url":"https://github.com/sonatype/nexus-platform-plugin","homepage":null,"size":367,"stargazers_count":0,"watchers_count":0,"language":"Groovy","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"open_issues_count":1,"license":null,"forks":1,"open_issues":1,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/sonatype/nexus-platform-plugin/pulls/9"},"html":{"href":"https://github.com/sonatype/nexus-platform-plugin/pull/9"},"issue":{"href":"https://api.github.com/repos/sonatype/nexus-platform-plugin/issues/9"},"comments":{"href":"https://api.github.com/repos/sonatype/nexus-platform-plugin/issues/9/comments"},"review_comments":{"href":"https://api.github.com/repos/sonatype/nexus-platform-plugin/pulls/9/comments"},"review_comment":{"href":"https://api.github.com/repos/sonatype/nexus-platform-plugin/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/sonatype/nexus-platform-plugin/pulls/9/commits"},"statuses":{"href":"https://api.github.com/repos/sonatype/nexus-platform-plugin/statuses/39b6afa34f1fca7a828e0db16c07d90ef9c6b656"}},"author_association":"NONE"}}
{"actor":{"display_login":"nmcafee"}}