gitlab-release-tools 0.2.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
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: