diff --git a/api/jreleaser-resource-bundle/src/main/resources/org/jreleaser/bundle/Messages.properties b/api/jreleaser-resource-bundle/src/main/resources/org/jreleaser/bundle/Messages.properties index fb512b1e0..eca6f8faf 100644 --- a/api/jreleaser-resource-bundle/src/main/resources/org/jreleaser/bundle/Messages.properties +++ b/api/jreleaser-resource-bundle/src/main/resources/org/jreleaser/bundle/Messages.properties @@ -609,6 +609,7 @@ git.create.release = creating release on {}/{} with tag {} git.create.release.repository = creating release on {} with tag {} git.update.release = updating release on {}/{} with tag {} git.upload.assets = uploading assets to {}/{} +git.upload.asset.stream.closed = ! {} response stream closed git.upload.asset = - uploading {} git.upload.asset.failure = x failed to upload {} git.delete.asset = - deleting {} diff --git a/sdks/jreleaser-github-java-sdk/src/main/java/org/jreleaser/sdk/github/Github.java b/sdks/jreleaser-github-java-sdk/src/main/java/org/jreleaser/sdk/github/Github.java index f48b5d98d..b07f2b198 100644 --- a/sdks/jreleaser-github-java-sdk/src/main/java/org/jreleaser/sdk/github/Github.java +++ b/sdks/jreleaser-github-java-sdk/src/main/java/org/jreleaser/sdk/github/Github.java @@ -28,6 +28,7 @@ import org.kohsuke.github.GHDiscussion; import org.kohsuke.github.GHException; import org.kohsuke.github.GHFileNotFoundException; +import org.kohsuke.github.GHIOException; import org.kohsuke.github.GHIssue; import org.kohsuke.github.GHIssueState; import org.kohsuke.github.GHLabel; @@ -192,9 +193,16 @@ void uploadAssets(GHRelease release, List assets) throws IOException { } logger.info(" " + RB.$("git.upload.asset"), asset.getFilename()); - GHAsset ghasset = release.uploadAsset(asset.getPath().toFile(), MediaType.parse(tika.detect(asset.getPath())).toString()); - if (!"uploaded".equalsIgnoreCase(ghasset.getState())) { - logger.warn(" " + RB.$("git.upload.asset.failure"), asset.getFilename()); + try { + GHAsset ghasset = release.uploadAsset(asset.getPath().toFile(), MediaType.parse(tika.detect(asset.getPath())).toString()); + if (!"uploaded".equalsIgnoreCase(ghasset.getState())) { + logger.warn(" " + RB.$("git.upload.asset.failure"), asset.getFilename()); + } + } catch (GHIOException ghioe) { + logger.trace(ghioe); + if ("Stream Closed".equals(ghioe.getMessage())) { + logger.warn(" " + RB.$("git.upload.asset.stream.closed"), asset.getFilename()); + } } } }