gitlab-release-tools 0.2.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fc5b89c86cac432823c0c80465f2db7bca594f032f147acb2a44e3fc541eeca0
4
- data.tar.gz: 486d3550693609d543427d5cbd4186c19db079289600384da6c6b57d256062f8
3
+ metadata.gz: e31f5cb41ec6a8a0512162473f092a20c9c6c033bb03cdc7768c98bed72a78a6
4
+ data.tar.gz: 3ca9e40c679f14a00d6ca6c711f559f17205a2707417a0999496d9756189d8ca
5
5
  SHA512:
6
- metadata.gz: 9ae7ca58e5f26bfceddf60705098129908146e55f48e8be23efbe502778c1a9050bbe54d8f4bd7ee3241732d1efc05d45547c6daf9bb56813387c8c4ab01a81a
7
- data.tar.gz: d58da60bac59b9342ee7feebc8985b778de4cf1c87bca5434a95558327ffb4284e71dea511a9b56c205d1d84f983edc19b9e13a0b3b10bab591cfbdff965d4b5
6
+ metadata.gz: 68957e07b20608018f3cb018f0fcb1a4a06f52cb6a855b6e5996f10760bbc876284f023d324eb8049b28a988396e440d88a83ed7485b39aa8b2090f042429fb2
7
+ data.tar.gz: 55847bebbb6d94a3c9203fd0b298fa24ed253e8e6bf6b47d39e4beac1cc03f327a543eaaa13b33d0cf6047bab05bae810d9e076cdc5bcfc6653e8484d14d350e
data/.env.gitlab CHANGED
@@ -1,2 +1,2 @@
1
1
  GITLAB_BASE_URL=http://gitlab.com/api/v4
2
- PRIVATE_TOKEN=ebjfSuxMXLuJhV_UuKbn
2
+ PRIVATE_TOKEN=
data/.travis.yml CHANGED
@@ -2,8 +2,11 @@ sudo: false
2
2
  language: ruby
3
3
  cache: bundler
4
4
  rvm:
5
- - 2.5.1
6
- before_install: gem install bundler -v 1.16.6
5
+ - 2.4.6
6
+ - 2.6.4
7
+ before_install:
8
+ - gem install bundler
9
+ - bundle install
7
10
 
8
11
  script:
9
12
  - rspec spec
data/CHANGELOG.md ADDED
@@ -0,0 +1,4 @@
1
+ # Changelog
2
+
3
+ ## 1.0.0
4
+ Hello World!
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- gitlab-release-tools (0.2.0)
4
+ gitlab-release-tools (1.0.0)
5
5
  gitlab (~> 4.12.0)
6
6
 
7
7
  GEM
@@ -26,19 +26,19 @@ GEM
26
26
  multi_xml (0.6.0)
27
27
  public_suffix (4.0.1)
28
28
  rake (10.5.0)
29
- rspec (3.8.0)
30
- rspec-core (~> 3.8.0)
31
- rspec-expectations (~> 3.8.0)
32
- rspec-mocks (~> 3.8.0)
33
- rspec-core (3.8.2)
34
- rspec-support (~> 3.8.0)
35
- rspec-expectations (3.8.5)
29
+ rspec (3.9.0)
30
+ rspec-core (~> 3.9.0)
31
+ rspec-expectations (~> 3.9.0)
32
+ rspec-mocks (~> 3.9.0)
33
+ rspec-core (3.9.0)
34
+ rspec-support (~> 3.9.0)
35
+ rspec-expectations (3.9.0)
36
36
  diff-lcs (>= 1.2.0, < 2.0)
37
- rspec-support (~> 3.8.0)
38
- rspec-mocks (3.8.2)
37
+ rspec-support (~> 3.9.0)
38
+ rspec-mocks (3.9.0)
39
39
  diff-lcs (>= 1.2.0, < 2.0)
40
- rspec-support (~> 3.8.0)
41
- rspec-support (3.8.3)
40
+ rspec-support (~> 3.9.0)
41
+ rspec-support (3.9.0)
42
42
  safe_yaml (1.0.5)
43
43
  terminal-table (1.8.0)
44
44
  unicode-display_width (~> 1.1, >= 1.1.1)
@@ -47,6 +47,7 @@ GEM
47
47
  addressable (>= 2.3.6)
48
48
  crack (>= 0.3.2)
49
49
  hashdiff (>= 0.4.0, < 2.0.0)
50
+ yard (0.9.20)
50
51
 
51
52
  PLATFORMS
52
53
  ruby
@@ -59,6 +60,7 @@ DEPENDENCIES
59
60
  rake (~> 10.0)
60
61
  rspec (~> 3.0)
61
62
  webmock
63
+ yard
62
64
 
63
65
  BUNDLED WITH
64
66
  2.0.2
data/README.md CHANGED
@@ -1,4 +1,7 @@
1
1
  # gitlab-release-tools
2
+ [![License](https://img.shields.io/badge/license-MIT-green.svg?style=flat)](https://github.com/andreadelfante/gitlab-release-tools/blob/master/LICENSE)
3
+ [![Gem](https://img.shields.io/gem/v/gitlab-release-tools.svg?style=flat)](https://rubygems.org/gems/gitlab-release-tools)
4
+ [![Build Status](https://travis-ci.org/andreadelfante/gitlab-release-tools.svg?branch=master)](https://travis-ci.org/andreadelfante/gitlab-release-tools)
2
5
 
3
6
  ## Installation
4
7
 
@@ -10,21 +13,38 @@ gem 'gitlab-release-tools'
10
13
 
11
14
  And then execute:
12
15
 
13
- $ bundle
16
+ $ bundle install
14
17
 
15
18
  Or install it yourself as:
16
19
 
17
- $ gem install gitlab-changelog-generator
20
+ $ gem install gitlab-release-tools
18
21
 
19
22
  ## Usage
20
23
 
21
- TODO: Write usage instructions here
24
+ ```ruby
25
+ endpoint = 'endpoint' # or value from ENV for CI/CD
26
+ private_token = 'private_token' # or value from ENV for CI/CD
27
+ project_id = 50 # or value from ENV for CI/CD
28
+ version = '1.0'
29
+
30
+ generator = Gitlab::Release::Changelog::Generator.new(endpoint: endpoint, private_token: private_token)
31
+ changelog = generator.changelog(version, project_id: project_id)
32
+ # print(changelog) for a simple changelog list
33
+ # print(changelog.to_s_with_reference) for a changelog list with mrs/issues references
34
+
35
+ manager = Gitlab::Release::Manager.new(endpoint: endpoint, private_token: private_token)
36
+ manager.define_tag(version, changelog.to_s_with_reference)
37
+ manager.close_milestones(version)
38
+ ```
22
39
 
23
- ## Development
40
+ Check out the [documentation](./doc/index.html) for more.
24
41
 
25
- After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
42
+ ## Development
26
43
 
27
- To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
44
+ 1. Install this gem onto your local machine, `bundle exec rake install`.
45
+ 2. Copy `.env.example` and rename with `.env`.
46
+ 3. Define Gitlab base url and generate a private token.
47
+ 4. You are ready to go!
28
48
 
29
49
  ## Contributing
30
50
 
data/Rakefile CHANGED
@@ -1,6 +1,11 @@
1
1
  require "bundler/gem_tasks"
2
2
  require "rspec/core/rake_task"
3
+ require 'yard'
3
4
 
4
5
  RSpec::Core::RakeTask.new(:spec)
5
6
 
7
+ YARD::Rake::YardocTask.new do |t|
8
+ t.files = ['lib/**/*.rb']
9
+ end
10
+
6
11
  task :default => :spec
@@ -8,7 +8,8 @@ Dotenv.load('../.env')
8
8
  endpoint = ENV["GITLAB_BASE_URL"]
9
9
  private_token = ENV["PRIVATE_TOKEN"]
10
10
 
11
- generator = Gitlab::Release::Changelog::Generator.new(endpoint, private_token)
11
+ generator = Gitlab::Release::Changelog::Generator.new(endpoint: endpoint,
12
+ private_token: private_token)
12
13
 
13
14
  changelog = generator.changelog("1.1", project_id: 50)
14
15
  print(changelog)
@@ -17,7 +17,7 @@ Gem::Specification.new do |spec|
17
17
  if spec.respond_to?(:metadata)
18
18
  spec.metadata["homepage_uri"] = spec.homepage
19
19
  spec.metadata["source_code_uri"] = "https://github.com/andreadelfante/gitlab-release-tools"
20
- #spec.metadata["changelog_uri"] = ""
20
+ spec.metadata["changelog_uri"] = "https://github.com/andreadelfante/gitlab-release-tools/blob/master/CHANGELOG.md##{Gitlab::Release::VERSION}"
21
21
  else
22
22
  raise "RubyGems 2.0 or newer is required to protect against " \
23
23
  "public gem pushes."
@@ -29,7 +29,7 @@ Gem::Specification.new do |spec|
29
29
  `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
30
30
  end
31
31
  spec.bindir = "exe"
32
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
32
+ #spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
33
33
  spec.require_paths = ["lib"]
34
34
 
35
35
  spec.add_runtime_dependency "gitlab", "~> 4.12.0"
@@ -39,4 +39,5 @@ Gem::Specification.new do |spec|
39
39
  spec.add_development_dependency "rspec", "~> 3.0"
40
40
  spec.add_development_dependency "dotenv"
41
41
  spec.add_development_dependency 'webmock'
42
+ spec.add_development_dependency 'yard'
42
43
  end
@@ -3,12 +3,10 @@ require 'gitlab'
3
3
  module Gitlab
4
4
  module Release
5
5
  class ApiClient
6
- # @param [String] endpoint API endpoint URL, default: ENV['GITLAB_API_ENDPOINT'] and falls back to ENV['CI_API_V4_URL']
7
- # @param [String] private_token user's private token or OAuth2 access token, default: ENV['GITLAB_API_PRIVATE_TOKEN']
8
- def initialize(endpoint, private_token)
6
+ def initialize(options = {})
9
7
  @client = Gitlab.client(
10
- endpoint: endpoint,
11
- private_token: private_token
8
+ endpoint: options[:endpoint],
9
+ private_token: options[:private_token]
12
10
  )
13
11
  end
14
12
 
@@ -1,38 +1,73 @@
1
1
  module Gitlab
2
2
  module Release
3
3
  module Changelog
4
+ ##
5
+ # This class is a collection wrapper of changelog items, useful to generate easily changelog as String.
6
+ #
4
7
  class Entries
5
8
  def initialize
6
9
  # @type [Array] elements
7
10
  @elements = []
8
11
  end
9
12
 
13
+ ##
14
+ # Add a new Entry element.
15
+ #
10
16
  # @param [Entry] element
17
+ #
11
18
  def push(element)
12
19
  @elements.push(element)
13
20
  end
14
21
 
22
+ ##
23
+ # Print the changelog without any reference.
24
+ #
25
+ # @return [String]
26
+ #
15
27
  def to_s
16
- to_s_with_reference(true)
28
+ internal_to_s_with_reference(false)
17
29
  end
18
30
 
19
- # @param [Boolean] with_reference
20
- def to_s_with_reference(with_reference)
21
- @elements.map { |element| element.to_s_with_reference(with_reference) }
22
- .join("\n")
31
+ ##
32
+ # Print the changelog with relative reference.
33
+ #
34
+ # @return [String]
35
+ #
36
+ def to_s_with_reference
37
+ internal_to_s_with_reference(true)
23
38
  end
24
39
 
25
- # @param [String] path
26
- # @param [Boolean] appending default false
27
- # @param [Boolean] with_reference default true
28
- def write_on_file(path, appending = false, with_reference = true)
40
+ ##
41
+ # Write the changelog content as String in a file.
42
+ #
43
+ # @param [String] path Required. path The file path. You can specify a series of file paths with regex.
44
+ # @param [Boolean] appending Optional. Append the changelog contents at the bottom of the file. Default: false
45
+ # @param [Boolean] with_reference Optional. Generate the changelog with MRs and Issues reference. Default true
46
+ #
47
+ def write_in_file(path, appending = false, with_reference = true)
29
48
  # @type [String] changelog_string
30
- changelog_string = to_s_with_reference(with_reference)
49
+ changelog_string = internal_to_s_with_reference(with_reference)
50
+
51
+ searched_paths = Dir.glob(path)
52
+ if !searched_paths.empty?
53
+ searched_paths.each do |single_path|
54
+ internal_write_on_file(single_path, changelog_string, appending)
55
+ end
56
+ else
57
+ internal_write_on_file(path, changelog_string, appending)
58
+ end
59
+ end
31
60
 
61
+ private def internal_write_on_file(path, content, appending)
32
62
  File.open(path, appending ? "a" : "w+") do |file|
33
- file.puts(changelog_string)
63
+ file.puts(content)
34
64
  end
35
65
  end
66
+
67
+ private def internal_to_s_with_reference(with_reference)
68
+ @elements.map { |element| element.to_s_for_changelog(with_reference) }
69
+ .join("\n")
70
+ end
36
71
  end
37
72
  end
38
73
  end
@@ -1,6 +1,9 @@
1
1
  module Gitlab
2
2
  module Release
3
3
  module Changelog
4
+ ##
5
+ # This class represents a single changelog element.
6
+ #
4
7
  class Entry
5
8
  attr_reader :title, :id
6
9
 
@@ -11,20 +14,35 @@ module Gitlab
11
14
  @title = title
12
15
  end
13
16
 
14
- # @param [Boolean] with_reference
15
- def to_s_with_reference(with_reference)
17
+ def to_s
18
+ "Changelog::Entry { id: #{id}, title: '#{title}' }"
19
+ end
20
+
21
+ ##
22
+ # Print this entry with or without reference.
23
+ #
24
+ # @param [Boolean] with_reference Required. Generate the changelog with MRs and Issues reference.
25
+ # @return [String]
26
+ #
27
+ def to_s_for_changelog(with_reference)
16
28
  "- #{title}"
17
29
  end
18
30
  end
19
31
 
32
+ ##
33
+ # This class represents a single Merge Request.
34
+ #
20
35
  class MergeRequest < Entry
21
- def to_s_with_reference(with_reference)
36
+ def to_s_for_changelog(with_reference)
22
37
  with_reference ? "- #{title} !#{id}" : super
23
38
  end
24
39
  end
25
40
 
41
+ ##
42
+ # This class represents a single Issue.
43
+ #
26
44
  class Issue < Entry
27
- def to_s_with_reference(with_reference)
45
+ def to_s_for_changelog(with_reference)
28
46
  with_reference ? "- #{title} ##{id}" : super
29
47
  end
30
48
  end
@@ -6,31 +6,40 @@ require 'gitlab/release/version'
6
6
  module Gitlab
7
7
  module Release
8
8
  module Changelog
9
+ ##
10
+ # This class generates the changelog entries
11
+ #
9
12
  class Generator < ApiClient
10
- # @param [String] endpoint API endpoint URL, default: ENV['GITLAB_API_ENDPOINT'] and falls back to ENV['CI_API_V4_URL']
11
- # @param [String] private_token user's private token or OAuth2 access token, default: ENV['GITLAB_API_PRIVATE_TOKEN']
12
- # @param [Integer] max_loop_mrs
13
- # @param [Integer] max_loop_issues
14
- def initialize(endpoint, private_token, max_loop_mrs = 1000, max_loop_issues = 1000)
15
- @max_loops_merge_requests = max_loop_mrs
16
- @max_loop_issues = max_loop_issues
17
- super(endpoint, private_token)
13
+ ##
14
+ # @option [String] endpoint Optional. The API endpoint URL. Default: ENV['GITLAB_API_ENDPOINT'] and falls back to ENV['CI_API_V4_URL']
15
+ # @option [String] private_token Optional. User's private token or OAuth2 access token. Default: ENV['GITLAB_API_PRIVATE_TOKEN']
16
+ # @option [Integer] max_loops_merge_requests Optional. The limit of the loop to fetch merge requests. Default: 2000
17
+ # @option [Integer] max_loop_issues Optional. The limit of the loop to fetch issues. Default: 2000
18
+ #
19
+ def initialize(options = {})
20
+ @max_loops_merge_requests = options[:max_loops_merge_requests] || 2000
21
+ @max_loop_issues = options[:max_loop_issues] || 2000
22
+ super(options)
18
23
  end
19
24
 
20
- # @param [String] version_name required
21
- # @param [String or Integer] project_id default ENV["CI_PROJECT_ID"]
22
- # @param [TrueClass or FalseClass] include_mrs default true
23
- # @param [TrueClass or FalseClass] include_issues default false
24
- # @param [Array[String]] filtering_labels default []
25
- # @param [Array[String]] filtering_mrs_labels default []
26
- # @param [Array[String]] filtering_issues_labels default []
25
+ ##
26
+ # Generate the changelog.
27
+ #
28
+ # @param [String] version_name Required. The name of the version. (ex: 1.0)
29
+ # @option [String or Integer] project_id Optional. The id of this project, given from GitLab. Default ENV["CI_PROJECT_ID"]
30
+ # @option [Boolean] include_mrs Optional. Should the generator include merge requests? Default: true
31
+ # @option [Boolean] include_issues Optional. Should the generator include issues? Default false
32
+ # @option [Array[String]] filtering_labels Optional. A general list of labels to filter items. Default: []
33
+ # @option [Array[String]] filtering_mrs_labels Optional. A specific list of labels to filter merge requests. Default: []
34
+ # @option [Array[String]] filtering_issues_labels Optional. A specific list of labels to filter issues. Default: []
27
35
  # @return [Entries]
28
- def changelog(version_name, params = {})
29
- project_id = params[:project_id] || ENV["CI_PROJECT_ID"]
30
- include_mrs = params[:include_mrs] || true
31
- include_issues = params[:include_issues] || false
32
- filtering_mrs_labels = params[:filtering_mrs_labels] || params[:filtering_labels] || []
33
- filtering_issue_labels = params[:filtering_issues_labels] || params[:filtering_labels] || []
36
+ #
37
+ def changelog(version_name, options = {})
38
+ project_id = options[:project_id] || ENV["CI_PROJECT_ID"]
39
+ include_mrs = options[:include_mrs] || true
40
+ include_issues = options[:include_issues] || false
41
+ filtering_mrs_labels = options[:filtering_mrs_labels] || options[:filtering_labels] || []
42
+ filtering_issue_labels = options[:filtering_issues_labels] || options[:filtering_labels] || []
34
43
 
35
44
  entries = Entries.new
36
45
  if include_mrs
@@ -51,7 +60,7 @@ module Gitlab
51
60
  # @param [Entries] entries
52
61
  # @param [String or Integer] project_id
53
62
  # @param [String] version_name
54
- # @param Array[String] filtering_labels
63
+ # @param [Array[String]] filtering_labels
55
64
  private def changelog_from_merge_requests(entries, project_id, version_name, filtering_labels)
56
65
  select_milestones(project_id, version_name).each do |milestone|
57
66
  i = 1
@@ -74,7 +83,7 @@ module Gitlab
74
83
 
75
84
  # @param [Gitlab::ObjectifiedHash] mr
76
85
  # @param [Array[String]] filtering_labels
77
- # @return [TrueClass or FalseClass]
86
+ # @return [Boolean]
78
87
  private def check_mr(mr, filtering_labels)
79
88
  mr.state == 'merged' and (filtering_labels - mr.labels).empty?
80
89
  end
@@ -82,8 +91,7 @@ module Gitlab
82
91
  # @param [Entries] entries
83
92
  # @param [String or Integer] project_id
84
93
  # @param [String] version_name
85
- # @param [TrueClass or FalseClass] only_closed
86
- # @param Array[String] filtering_labels
94
+ # @param [Array[String]] filtering_labels
87
95
  private def changelog_from_issues(entries, project_id, version_name, filtering_labels)
88
96
  select_milestones(project_id, version_name).each do |milestone|
89
97
  i = 1
@@ -106,7 +114,7 @@ module Gitlab
106
114
 
107
115
  # @param [Gitlab::ObjectifiedHash] issue
108
116
  # @param [Array[String]] filtering_labels
109
- # @return [TrueClass or FalseClass]
117
+ # @return [Boolean]
110
118
  private def check_issue(issue, filtering_labels)
111
119
  issue.state == 'closed' and (filtering_labels - issue.labels).empty?
112
120
  end
@@ -2,22 +2,33 @@ require 'gitlab/release/api_client'
2
2
 
3
3
  module Gitlab
4
4
  module Release
5
+ ##
6
+ # This class contains some tools to finish a release.
7
+ #
5
8
  class Manager < ApiClient
6
- # @param [String] tag_name
7
- # @param [String] changelog
8
- # @param [String or Integer] project_id default ENV["CI_PROJECT_ID"]
9
- # @param [String] ref default ENV["CI_COMMIT_SHA"]
10
- def define_tag(tag_name, changelog, params = {})
11
- project_id = params[:project_id] || ENV["CI_PROJECT_ID"]
12
- ref = params[:ref] || ENV["CI_COMMIT_SHA"]
9
+ ##
10
+ # Create a new tag in the Repo.
11
+ #
12
+ # @param [String] tag_name Required. The name of the tag. (ex: 1.0)
13
+ # @param [String] changelog Optional. The release notes related to the tag.
14
+ # @option [String or Integer] project_id Optional. The id of this project, given from GitLab. Default ENV["CI_PROJECT_ID"]
15
+ # @option [String] ref Optional. The commit SHA. Default ENV["CI_COMMIT_SHA"]
16
+ #
17
+ def define_tag(tag_name, changelog, options = {})
18
+ project_id = options[:project_id] || ENV["CI_PROJECT_ID"]
19
+ ref = options[:ref] || ENV["CI_COMMIT_SHA"]
13
20
 
14
21
  @client.create_tag(project_id, tag_name, ref, '', changelog)
15
22
  end
16
23
 
17
- # @param [String] version_name
18
- # @param [String or Integer] project_id default ENV["CI_PROJECT_ID"]
19
- def close_milestones(version_name, params = {})
20
- project_id = params[:project_id] || ENV["CI_PROJECT_ID"]
24
+ ##
25
+ # Close all the milestones containing the version name.
26
+ #
27
+ # @param [String] version_name Required. The name of the version. (ex: 1.0)
28
+ # @option [String or Integer] project_id Optional. The id of this project, given from GitLab. Default ENV["CI_PROJECT_ID"]
29
+ #
30
+ def close_milestones(version_name, options = {})
31
+ project_id = options[:project_id] || ENV["CI_PROJECT_ID"]
21
32
 
22
33
  select_milestones(project_id, version_name).each do |milestone|
23
34
  @client.edit_milestone(project_id, milestone.id, state_event: 'close')
@@ -1,5 +1,5 @@
1
1
  module Gitlab
2
2
  module Release
3
- VERSION = "0.2.0"
3
+ VERSION = "1.0.0"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gitlab-release-tools
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrea Del Fante
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-11-25 00:00:00.000000000 Z
11
+ date: 2019-11-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gitlab
@@ -94,11 +94,24 @@ dependencies:
94
94
  - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: yard
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
97
111
  description: Automation gitlab release tools from MR and issues for your new versions.
98
112
  email:
99
113
  - andreadelfante94@gmail.com
100
- executables:
101
- - gitlab-release-tools
114
+ executables: []
102
115
  extensions: []
103
116
  extra_rdoc_files: []
104
117
  files:
@@ -108,6 +121,7 @@ files:
108
121
  - ".rakeTasks"
109
122
  - ".rspec"
110
123
  - ".travis.yml"
124
+ - CHANGELOG.md
111
125
  - Gemfile
112
126
  - Gemfile.lock
113
127
  - LICENSE
@@ -129,6 +143,7 @@ licenses:
129
143
  metadata:
130
144
  homepage_uri: https://github.com/andreadelfante/gitlab-release-tools
131
145
  source_code_uri: https://github.com/andreadelfante/gitlab-release-tools
146
+ changelog_uri: https://github.com/andreadelfante/gitlab-release-tools/blob/master/CHANGELOG.md#1.0.0
132
147
  post_install_message:
133
148
  rdoc_options: []
134
149
  require_paths: