Last active
March 24, 2019 23:00
-
-
Save mstachniuk/41ca2bd6cf115b6d636f529aa507b0b3 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
object Travis Gradle Shipkit Git Bintray GitHub | |
Gradle->Shipkit: task bumpVersionFile | |
note right of Shipkit: Update values in version.properties | |
Shipkit->Gradle: | |
Gradle->Shipkit: task identifyGitBranch | |
note right of Shipkit: See above sequence for releaseNeeded for more details | |
Shipkit->Gradle: | |
Gradle->Shipkit: task fetchContributors | |
Shipkit->GitHub: Fetching all GitHub contributors | |
GitHub->Gradle: | |
Gradle->Shipkit: task fetchReleaseNotes | |
Shipkit->Git: Fetch data about changes from the last release | |
note right of Git: Execute: git log --pretty=%ad --date=iso v0.0.1 -n 1 \n git fetch origin +refs/tags/v0.0.1:refs/tags/v0.0.1 \n git log v0.0.1..HEAD | |
Git->Shipkit: | |
Shipkit->GitHub: Get information about GitHub issues | |
GitHub->Gradle: | |
Gradle->Shipkit: task updateReleaseNotes | |
note right of Shipkit: Generate Release Notes | |
Shipkit->Gradle: | |
Gradle->Shipkit: task gitCommit | |
Shipkit->Git: Commit release notes and version.properties | |
Git->Gradle: | |
Gradle->Shipkit: task gitTag | |
Shipkit->Git: Create tag | |
note right of Git: Execute: \n git tag -a v0.0.2 -m "Created new tag v0.0.2 [ci skip]" \n [ci skip] for not triggering infinite build loop on CI | |
Git->Gradle: | |
Gradle->Shipkit: task gitPush | |
Shipkit->Git: Push commit and tag | |
note right of Git: GitHub write token is used here | |
Git->Gradle: | |
Gradle->Shipkit: task performGitPush | |
note right of Shipkit: This task only aggregate tasks: \n - gitCommit \n - gitTag \n - gitPush | |
Shipkit->Gradle: | |
note right of Gradle: Only if org.shipkit.javadoc plugin is applied BEGIN | |
Gradle->Shipkit: task copyJavadocToStageVersionDir | |
note right of Shipkit: Copy unpacked Javadoc from JAR to stage dir \n for each subproject | |
Shipkit->Gradle: | |
Gradle->Shipkit: task refreshVersionJavadoc | |
note right of Shipkit: Aggregate all copyJavadocToStageVersionDir tasks | |
Shipkit->Gradle: | |
Gradle->Shipkit: task cloneJavadocRepo | |
note right of Shipkit: Only if Javadoc stage dir is NOT empty \n Clones to the repo dir | |
Shipkit->Gradle: | |
Gradle->Shipkit: task checkoutJavadocRepoBranch | |
Shipkit->Gradle: | |
Gradle->Shipkit: task copyJavadocToStageCurrentDir | |
note right of Shipkit: For each subproject | |
Shipkit->Gradle: | |
Gradle->Shipkit: task refreshCurrentJavadoc | |
note right of Shipkit: Aggregate all copyJavadocToStageCurrentDir tasks | |
Shipkit->Gradle: | |
Gradle->Shipkit: task copyJavadocStageToRepoDir | |
Shipkit->Gradle: | |
Gradle->Shipkit: task commitJavadoc | |
Shipkit->Gradle: | |
Gradle->Shipkit: task pushJavadoc | |
Shipkit->Gradle: | |
Gradle->Shipkit: task releaseJavadoc | |
note right of Shipkit: Aggregate all tasks needed to release Javadoc | |
Shipkit->Gradle: | |
note right of Gradle: Only if org.shipkit.javadoc plugin is applied END | |
Gradle->Shipkit: task updateReleaseNotesOnGitHub | |
note right of Shipkit: Upload release notes to GitHub Releases Page \n E.g.: https://github.com/mockito/shipkit/releases | |
Shipkit->Gradle: | |
note right of Shipkit: Final check if property dryRun is set, e.g.: \n ./gradlew performRelease -PdryRun \n It's useful for local testing | |
Gradle->Shipkit: task bintrayUpload | |
Shipkit->Bintray: upload artifacts | |
Bintray->Gradle: Release shipped! Thank you for using Shipkit! | |
Gradle->Travis: DONE |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment