Sha256: 86b52e614c463deb87f9fdc06c1fa43f95ebe6819028c22fd7ef50cc8f39b94e
Contents?: true
Size: 1.69 KB
Versions: 6
Compression:
Stored size: 1.69 KB
Contents
# # Copyright:: Copyright (c) 2016-2017, Chef Software Inc. # License:: Apache License, Version 2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # require "date" require "erb" class ReleaseAnnouncement include ERB::Util attr_accessor :type, :version, :maj_minor, :date, :release_notes def initialize(version, date, type) @version = version @date = Date.parse(date) unless date.nil? @release_notes = release_notes_from_file @type = type end def render puts "-" * 30 puts ERB.new(template_for(@type)).result(binding) puts "-" * 30 end def template_for(type) File.read("tasks/templates/#{type}.md.erb") end def release_notes_from_file File.read("RELEASE_NOTES.md").match(/^# ChefDK #{@version} Release Notes\n\n(.*)/m)[1] end end namespace :announce do desc "Generate the Prerelease Announcement (version: X.Y.Z, release_date: YYYY-MM-DD)" task :prerelease, :version, :release_date do |t, args| ReleaseAnnouncement.new(args[:version], args[:release_date], "prerelease").render end desc "Generate the Release Announcement (version: X.Y.Z)" task :release, :version do |t, args| ReleaseAnnouncement.new(args[:version], nil, "release").render end end
Version data entries
6 entries across 6 versions & 1 rubygems