@@ -50,10 +50,51 @@ function SetPackageVersion ($PackageName, $Version, $ReleaseDate, $ReplaceLatest
5050 - ReleaseDate $ReleaseDate - ReplaceLatestEntryTitle $ReplaceLatestEntryTitle
5151}
5252
53+ # Returns the maven (really sonatype) publish status of a package id and version.
54+ function IsMavenPackageVersionPublished ($pkgId , $pkgVersion , $groupId )
55+ {
56+ $uri = " https://oss.sonatype.org/content/repositories/releases/$ ( $groupId.Replace (' .' , ' /' )) /$pkgId /$pkgVersion /$pkgId -$pkgVersion .pom"
57+
58+ $attempt = 1
59+ while ($attempt -le 3 )
60+ {
61+ try
62+ {
63+ if ($attempt -gt 1 ) {
64+ Start-Sleep - Seconds ([Math ]::Pow(2 , $attempt ))
65+ }
66+
67+ Write-Host " Checking published package at $uri "
68+ $response = Invoke-WebRequest - Method " GET" - uri $uri - SkipHttpErrorCheck
69+
70+ if ($response.BaseResponse.IsSuccessStatusCode )
71+ {
72+ return $true
73+ }
74+
75+ $statusCode = $response.StatusCode
76+
77+ if ($statusCode -eq 404 )
78+ {
79+ return $false
80+ }
81+
82+ Write-Host " Http request for maven package $groupId `:$pkgId `:$pkgVersion failed attempt $attempt with statuscode $statusCode "
83+ }
84+ catch
85+ {
86+ Write-Host " Http request for maven package $groupId `:$pkgId `:$pkgVersion failed attempt $attempt with exception $ ( $_.Exception.Message ) "
87+ }
88+
89+ $attempt += 1
90+ }
91+
92+ throw " Http request for maven package $groupId `:$pkgId `:$pkgVersion failed after 3 attempts"
93+ }
94+
5395# Parse out package publishing information given a maven POM file
5496function Get-android-PackageInfoFromPackageFile ($pkg , $workingDirectory )
5597{
56- Write-Host " Get-android-PackageInfoFromPackageFile, pkg=$pkg "
5798 [xml ]$contentXML = Get-Content $pkg
5899
59100 $pkgId = $contentXML.project.artifactId
@@ -78,15 +119,7 @@ function Get-android-PackageInfoFromPackageFile ($pkg, $workingDirectory)
78119 $readmeContent = Get-Content - Raw $readmeContentLoc
79120 }
80121
81- Write-Host " Get-android-PackageInfoFromPackageFile, pkgId=$pkgId "
82- Write-Host " Get-android-PackageInfoFromPackageFile, groupId=$groupId "
83- Write-Host " Get-android-PackageInfoFromPackageFile, pkgVersion=$pkgVersion "
84- Write-Host " Get-android-PackageInfoFromPackageFile, releaseTag=$ ( $pkgId ) _$ ( $pkgVersion ) "
85- Write-Host " Get-android-PackageInfoFromPackageFile, releaseNotes=$releaseNotes "
86- Write-Host " Get-android-PackageInfoFromPackageFile, readmeContent=$readmeContent "
87- Write-Host " Get-android-PackageInfoFromPackageFile, docsReadMeName=$docsReadMeName "
88-
89- $tempObj = New-Object PSObject - Property @ {
122+ return New-Object PSObject - Property @ {
90123 PackageId = $pkgId
91124 GroupId = $groupId
92125 PackageVersion = $pkgVersion
@@ -96,8 +129,6 @@ function Get-android-PackageInfoFromPackageFile ($pkg, $workingDirectory)
96129 ReadmeContent = $readmeContent
97130 DocsReadMeName = $docsReadMeName
98131 }
99- Write-Host " Get-android-PackageInfoFromPackageFile returning tempObj.ReleaseTag=$ ( $tempObj.ReleaseTag ) "
100- return $tempObj
101132}
102133
103134function Publish-android-GithubIODocs ($DocLocation , $PublicArtifactLocation )
@@ -152,6 +183,7 @@ function Publish-android-GithubIODocs ($DocLocation, $PublicArtifactLocation)
152183 Write-Host " PkgName $ ( $ArtifactId ) "
153184 Write-Host " DocVersion $ ( $Version ) "
154185 $releaseTag = RetrieveReleaseTag $PublicArtifactLocation
186+ Write-Host " releaseTag $ ( $releaseTag ) "
155187 Upload- Blobs - DocDir $UnjarredDocumentationPath - PkgName $ArtifactId - DocVersion $Version - ReleaseTag $releaseTag
156188 }
157189 Finally
0 commit comments