Created
November 6, 2016 22:43
-
-
Save Antondomashnev/60b26b6d9dd25d04cf7310e673d247f6 to your computer and use it in GitHub Desktop.
Showcase of fastlane lanes to update yaml CHANGELOG file as yaml
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
lane :put_upcoming_to_releases do | |
changelog_data = get_changelog_data | |
upcoming = changelog_data["upcoming"].clone | |
changelog_data["upcoming"]["version"] = nil | |
changelog_data["upcoming"]["notes"] = nil | |
if changelog_data["releases"].count > 0 | |
changelog_data["releases"].unshift(upcoming) | |
else | |
changelog_data["releases"].push(upcoming) | |
end | |
save_changelog_data( | |
changelog_data: changelog_data | |
) | |
git_commit_shell( | |
message: "Move upcoming version to releases in CHANGELOG" | |
) | |
end | |
private_lane :get_changelog_data do | |
changelog_data = YAML.load(File.open "../CHANGELOG.yml") | |
changelog_data | |
end | |
private_lane :save_changelog_data do |options| | |
changelog_data = options[:changelog_data] | |
File.open("../CHANGELOG.yml", 'w') { |f| YAML.dump(changelog_data, f) } | |
end | |
private_lane :get_releases do | |
changelog_data = get_changelog_data | |
releases = changelog_data["releases"] | |
releases | |
end | |
private_lane :get_upcoming do | |
changelog_data = get_changelog_data | |
upcoming = changelog_data["upcoming"] | |
upcoming | |
end | |
private_lane :get_upcoming_version do | |
upcoming = get_upcoming | |
upcoming_version = upcoming["version"] | |
upcoming_version | |
end | |
private_lane :get_upcoming_notes do | |
upcoming = get_upcoming | |
upcoming_notes = "* #{upcoming["notes"].join "\n* "} \n\n" | |
upcoming_notes | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment