u3d 1.2.1 → 1.2.2

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: 6aa51fd11881ddc77a6977eab436cfb987bf8f39a07ff9fe71f39e4e7e62a4d5
4
- data.tar.gz: 560619a4d9c2897806775be6e9c447575d84641c4554fa011a1d7abede2c5a7b
3
+ metadata.gz: 80cbd75cc31f765c99ad5045c7bc4a4aedef530decb41e694554b8d85ad2ce36
4
+ data.tar.gz: acf532a7231f8a75e2287f9c533feb71b4d8370c298f44bb8878041e7be91bec
5
5
  SHA512:
6
- metadata.gz: '0287cdd2e6640c60f3378a81e10ea7f89704443b0e7e4b7d3a2fc16b6f84c8ff65a61b30537787dea73a73311175389aee102e0f00678b44e0d4f94fb5f4c4e5'
7
- data.tar.gz: 2c6d67883b71ab8503d4b4abfbe834b8dbe43106eeac50ea1ad44370fedfff4d01364bf6297082740c994b0d2ef033e8f9a22fed8ebb8d91b54443d71def8413
6
+ metadata.gz: c9fd958b3178ee339b2ed5dba30ffc83b0c03394dd6cab19e5885059bdddd7ec1e91ef33014fde1a1d2b45ef276db38df6a4d42f313111be8bf4322b8dd05ea5
7
+ data.tar.gz: de18a2ef437ec324d85906b27e568315e5bf09144308cff7849f27ed14212258a2c10fee9a0a5ae78e3040f5127d200e45ac24e7978fe494fcfb4699824fe3bb
@@ -26,10 +26,18 @@ jobs:
26
26
  # fallback to using the latest cache if no exact match is found
27
27
  - v1-dependencies-
28
28
 
29
+ - run:
30
+ name: Configure Bundler
31
+ command: |
32
+ echo 'export BUNDLER_VERSION=$(cat Gemfile.lock | tail -1 | tr -d " ")' >> $BASH_ENV
33
+ source $BASH_ENV
34
+ gem install bundler
35
+ bundle config set path '.bundle'
36
+
29
37
  - run:
30
38
  name: install dependencies
31
39
  command: |
32
- bundle install --jobs=4 --retry=3 --path .bundle
40
+ bundle install --jobs=4 --retry=3
33
41
 
34
42
  - save_cache:
35
43
  paths:
@@ -44,6 +52,8 @@ jobs:
44
52
  - run:
45
53
  name: run tests
46
54
  command: |
55
+ echo $BUNDLER_VERSION
56
+ bundle --version
47
57
  bundle exec rake
48
58
 
49
59
  # collect reports
@@ -1,4 +1,4 @@
1
- future-release=v1.2.1
1
+ future-release=v1.2.2
2
2
  since-tag=v0.9
3
3
  exclude_tags_regex=v0\.[0-8]\..*
4
4
  exclude-labels=nochangelog,question
@@ -1,5 +1,25 @@
1
1
  # Change Log
2
2
 
3
+ ## [v1.2.2](https://github.com/DragonBox/u3d/tree/v1.2.2) (2020-02-21)
4
+ [Full Changelog](https://github.com/DragonBox/u3d/compare/v1.2.1...v1.2.2)
5
+
6
+ **Fixed bugs:**
7
+
8
+ - Error management in invalid modules at least on macOS [\#385](https://github.com/DragonBox/u3d/issues/385)
9
+ - U3D\_EXTRA\_PATHS is improperly interpreted on Windows [\#383](https://github.com/DragonBox/u3d/issues/383)
10
+
11
+ **Closed issues:**
12
+
13
+ - github releases are not marked as latest nor contain changelogs [\#389](https://github.com/DragonBox/u3d/issues/389)
14
+
15
+ **Merged pull requests:**
16
+
17
+ - Bump Example1 dependencies that trigger security warning on github [\#396](https://github.com/DragonBox/u3d/pull/396) ([lacostej](https://github.com/lacostej))
18
+ - Create Github releases. Required for \#390. \[Fixes \#389\] [\#395](https://github.com/DragonBox/u3d/pull/395) ([lacostej](https://github.com/lacostej))
19
+ - Support displaying u3d updates [\#390](https://github.com/DragonBox/u3d/pull/390) ([lacostej](https://github.com/lacostej))
20
+ - u3d/install: convert Windows paths to ruby paths when treating U3D\_EXTRA\_PATHS [\#388](https://github.com/DragonBox/u3d/pull/388) ([lacostej](https://github.com/lacostej))
21
+ - u3d/install: verify package names before we ensure setup coherence \(fixes \#385\) \(regression from 1.2.0\) [\#387](https://github.com/DragonBox/u3d/pull/387) ([lacostej](https://github.com/lacostej))
22
+
3
23
  ## [v1.2.1](https://github.com/DragonBox/u3d/tree/v1.2.1) (2019-11-15)
4
24
  [Full Changelog](https://github.com/DragonBox/u3d/compare/v1.2.0...v1.2.1)
5
25
 
@@ -9,6 +9,7 @@
9
9
  * make a release
10
10
 
11
11
  `rake release`
12
+ `rake create_missing_github_releases`
12
13
 
13
14
  = release of the fastlane plugin
14
15
 
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- u3d (1.2.1)
4
+ u3d (1.2.2)
5
5
  colored (>= 1.2, < 2.0.0)
6
6
  commander (>= 4.4.0, < 5.0.0)
7
7
  file-tail (>= 1.2.0)
@@ -26,7 +26,7 @@ GEM
26
26
  byebug (10.0.2)
27
27
  coderay (1.1.2)
28
28
  colored (1.2)
29
- commander (4.4.7)
29
+ commander (4.5.0)
30
30
  highline (~> 2.0.0)
31
31
  concurrent-ruby (1.0.5)
32
32
  coveralls (0.8.21)
@@ -100,7 +100,7 @@ GEM
100
100
  ruby-progressbar (~> 1.7)
101
101
  unicode-display_width (~> 1.0, >= 1.0.1)
102
102
  ruby-progressbar (1.9.0)
103
- rubyzip (2.0.0)
103
+ rubyzip (2.2.0)
104
104
  sawyer (0.8.1)
105
105
  addressable (>= 2.3.5, < 2.6)
106
106
  faraday (~> 0.8, < 1.0)
@@ -125,7 +125,7 @@ PLATFORMS
125
125
  x86-mingw32
126
126
 
127
127
  DEPENDENCIES
128
- bundler (~> 1.13)
128
+ bundler (~> 2.0)
129
129
  coveralls
130
130
  github_changelog_generator
131
131
  pry-byebug
@@ -136,4 +136,4 @@ DEPENDENCIES
136
136
  u3d!
137
137
 
138
138
  BUNDLED WITH
139
- 1.17.2
139
+ 2.1.4
data/Rakefile CHANGED
@@ -24,6 +24,7 @@ require "bundler/gem_tasks"
24
24
  require "rspec/core/rake_task"
25
25
  require 'rubocop/rake_task'
26
26
  require 'u3d'
27
+
27
28
  UI = U3dCore::UI
28
29
 
29
30
  # doesn't yet support dot file
@@ -207,4 +208,44 @@ task :test_all do
207
208
  sh "rspec #{rspec_args}"
208
209
  end
209
210
 
211
+ def parse_changelog
212
+ releases = {}
213
+ buffer = nil
214
+ version = nil
215
+ File.readlines("CHANGELOG.md").each do |line|
216
+ if (m = line.match(/^## \[(.*)\]/))
217
+ releases[version] = buffer if buffer
218
+ version = m[1]
219
+ buffer = version + "\n\n"
220
+ else
221
+ next unless version # skip first lines
222
+ buffer += line if line != "\n"
223
+ end
224
+ end
225
+ releases[version] = buffer
226
+ releases
227
+ end
228
+
229
+ desc 'Create missing Github releases from changelog'
230
+ task :create_missing_github_releases do
231
+ releases = parse_changelog
232
+
233
+ known_releases = `hub release`.split("\n")
234
+
235
+ releases.keys.reverse.each do |version|
236
+ if known_releases.include? version
237
+ puts "Skipping existing version #{version}"
238
+ next
239
+ end
240
+ changelog = releases[version]
241
+ puts "Creating version #{version}"
242
+ require "tempfile"
243
+ Tempfile.create("githubchangelog") do |changelog_file|
244
+ File.write(changelog_file, changelog)
245
+ command = "hub release create #{version} -F #{changelog_file.path}"
246
+ `#{command}`
247
+ end
248
+ end
249
+ end
250
+
210
251
  task default: %i[rubocop test_all]
@@ -7,13 +7,14 @@ PATH
7
7
  PATH
8
8
  remote: /Users/lacostej/Code/OSS/u3d
9
9
  specs:
10
- u3d (1.1.6)
10
+ u3d (1.2.1)
11
11
  colored (>= 1.2, < 2.0.0)
12
12
  commander (>= 4.4.0, < 5.0.0)
13
13
  file-tail (>= 1.2.0)
14
14
  filesize (>= 0.1.1)
15
15
  inifile (>= 3.0.0, < 4.0.0)
16
16
  plist (>= 3.1.0, < 4.0.0)
17
+ rubyzip (>= 1.0.0)
17
18
  security (= 0.1.3)
18
19
 
19
20
  GEM
@@ -38,7 +39,7 @@ GEM
38
39
  unf (>= 0.0.5, < 1.0.0)
39
40
  dotenv (2.7.5)
40
41
  emoji_regex (1.0.1)
41
- excon (0.68.0)
42
+ excon (0.72.0)
42
43
  faraday (0.17.0)
43
44
  multipart-post (>= 1.2, < 3)
44
45
  faraday-cookie_jar (0.0.6)
@@ -149,10 +150,12 @@ GEM
149
150
  CFPropertyList
150
151
  naturally
151
152
  slack-notifier (2.3.2)
153
+ sync (0.5.0)
152
154
  terminal-notifier (2.0.0)
153
155
  terminal-table (1.8.0)
154
156
  unicode-display_width (~> 1.1, >= 1.1.1)
155
- tins (1.22.0)
157
+ tins (1.24.1)
158
+ sync
156
159
  tty-cursor (0.7.0)
157
160
  tty-screen (0.7.0)
158
161
  tty-spinner (0.9.1)
@@ -152,7 +152,8 @@ module U3d
152
152
 
153
153
  definition = UnityVersionDefinition.new(version, os, cache_versions)
154
154
  unity = check_unity_presence(version: version)
155
- packages = options[:packages] || ['Unity']
155
+
156
+ packages = verify_package_names(options[:packages], definition) || ['Unity']
156
157
 
157
158
  begin
158
159
  packages = enforce_setup_coherence(packages, options, unity, definition)
@@ -160,8 +161,6 @@ module U3d
160
161
  return
161
162
  end
162
163
 
163
- verify_package_names(definition, packages)
164
-
165
164
  get_administrative_privileges(options) if options[:install]
166
165
 
167
166
  files = Downloader.fetch_modules(definition, packages: packages, download: options[:download])
@@ -274,10 +273,12 @@ module U3d
274
273
  cache_versions
275
274
  end
276
275
 
277
- def verify_package_names(definition, packages)
278
- packages.each do |package|
279
- UI.user_error! "package '#{package}' doesn't exist" unless definition.available_package? package
276
+ def verify_package_names(packages, definition)
277
+ unless packages.nil?
278
+ invalid_packages = packages.reject { |package| definition.available_package? package }
279
+ raise ArgumentError, "Package(s) '#{invalid_packages.join(',')}' are not known. Use #{definition.available_packages.join(',')}" unless invalid_packages.empty?
280
280
  end
281
+ packages
281
282
  end
282
283
 
283
284
  def specified_or_current_project_version(version)
@@ -36,8 +36,11 @@ module U3d
36
36
  UNICODE_FILE = File.expand_path('../../assets/utf8.txt', __FILE__)
37
37
 
38
38
  def self.start
39
+ U3dCore::UpdateChecker.start_looking_for_update('u3d')
39
40
  check_locale
40
41
  new.run
42
+ ensure
43
+ U3dCore::UpdateChecker.show_update_status('u3d', U3d::VERSION)
41
44
  end
42
45
 
43
46
  def self.check_locale
@@ -146,9 +146,12 @@ module U3d
146
146
  end
147
147
  end
148
148
 
149
+ # extra installation paths are stored in U3D_EXTRA_PATHS environment variable,
150
+ # following a standard PATH variable format.
151
+ # Returns an array of ruby style paths
149
152
  def extra_installation_paths
150
153
  return [] if ENV['U3D_EXTRA_PATHS'].nil?
151
- ENV['U3D_EXTRA_PATHS'].strip.split(File::PATH_SEPARATOR)
154
+ ENV['U3D_EXTRA_PATHS'].strip.split(File::PATH_SEPARATOR).map { |p| File.expand_path p }
152
155
  end
153
156
 
154
157
  def find_installations_with_path(default_root_path: '', postfix: [])
@@ -21,7 +21,7 @@
21
21
  ## --- END LICENSE BLOCK ---
22
22
 
23
23
  module U3d
24
- VERSION = '1.2.1'.freeze
24
+ VERSION = '1.2.2'.freeze
25
25
  DESCRIPTION = 'Provides numerous tools for installing, managing and running the Unity game engine from command line.'.freeze
26
26
  UNITY_VERSIONS_NOTE = "Unity uses the following version formatting: 0.0.0x0. The \'x\' can takes different values:\n"\
27
27
  "\t. 'f' are the main release candidates for Unity\n"\
@@ -27,5 +27,8 @@ require 'u3d_core/credentials'
27
27
  require 'u3d_core/ui/ui'
28
28
  require 'u3d_core/command_executor'
29
29
  require 'u3d_core/command_runner'
30
+ require 'u3d_core/env'
31
+ require 'u3d_core/update_checker/changelog'
32
+ require 'u3d_core/update_checker/update_checker'
30
33
  require 'colored'
31
34
  require 'commander'
@@ -0,0 +1,32 @@
1
+ ## --- BEGIN LICENSE BLOCK ---
2
+ # Original work Copyright (c) 2015-present the fastlane authors
3
+ # Modified work Copyright 2019-present WeWantToKnow AS
4
+ #
5
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ # of this software and associated documentation files (the "Software"), to deal
7
+ # in the Software without restriction, including without limitation the rights
8
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ # copies of the Software, and to permit persons to whom the Software is
10
+ # furnished to do so, subject to the following conditions:
11
+ #
12
+ # The above copyright notice and this permission notice shall be included in all
13
+ # copies or substantial portions of the Software.
14
+ #
15
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ # SOFTWARE.
22
+ ## --- END LICENSE BLOCK ---
23
+
24
+ module U3dCore
25
+ class Env
26
+ def self.truthy?(env)
27
+ return false unless ENV[env]
28
+ return false if %w[no false off 0].include?(ENV[env].to_s)
29
+ return true
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,63 @@
1
+ ## --- BEGIN LICENSE BLOCK ---
2
+ # Original work Copyright (c) 2015-present the fastlane authors
3
+ # Modified work Copyright 2019-present WeWantToKnow AS
4
+ #
5
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ # of this software and associated documentation files (the "Software"), to deal
7
+ # in the Software without restriction, including without limitation the rights
8
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ # copies of the Software, and to permit persons to whom the Software is
10
+ # furnished to do so, subject to the following conditions:
11
+ #
12
+ # The above copyright notice and this permission notice shall be included in all
13
+ # copies or substantial portions of the Software.
14
+ #
15
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ # SOFTWARE.
22
+ ## --- END LICENSE BLOCK ---
23
+
24
+ require_relative '../../u3d/utils'
25
+
26
+ module U3dCore
27
+ class Changelog
28
+ class << self
29
+ def show_changes(gem_name, current_version, update_gem_command: "bundle update")
30
+ did_show_changelog = false
31
+
32
+ releases(gem_name).each_with_index do |release, index|
33
+ next unless Gem::Version.new(to_version(release['tag_name'])) > Gem::Version.new(current_version)
34
+ puts("")
35
+ puts(release['name'].green)
36
+ puts(release['body'])
37
+ did_show_changelog = true
38
+
39
+ next unless index == 2
40
+ puts("")
41
+ puts("To see all new releases, open https://github.com/DragonBox/#{gem_name}/releases".green)
42
+ break
43
+ end
44
+
45
+ puts("")
46
+ puts("Please update using `#{update_gem_command}`".green) if did_show_changelog
47
+ rescue StandardError => e
48
+ # Something went wrong, we don't care so much about this
49
+ UI.error("Unable to show_changes: #{e}")
50
+ end
51
+
52
+ def to_version(tag_name)
53
+ tag_name = tag_name[1..-1] if tag_name[0] == 'v'
54
+ tag_name
55
+ end
56
+
57
+ def releases(gem_name)
58
+ url = "https://api.github.com/repos/DragonBox/#{gem_name}/releases"
59
+ JSON.parse(U3d::Utils.page_content(url))
60
+ end
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,130 @@
1
+ ## --- BEGIN LICENSE BLOCK ---
2
+ # Original work Copyright (c) 2015-present the fastlane authors
3
+ # Modified work Copyright 2019-present WeWantToKnow AS
4
+ #
5
+ # Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ # of this software and associated documentation files (the "Software"), to deal
7
+ # in the Software without restriction, including without limitation the rights
8
+ # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ # copies of the Software, and to permit persons to whom the Software is
10
+ # furnished to do so, subject to the following conditions:
11
+ #
12
+ # The above copyright notice and this permission notice shall be included in all
13
+ # copies or substantial portions of the Software.
14
+ #
15
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ # SOFTWARE.
22
+ ## --- END LICENSE BLOCK ---
23
+
24
+ require_relative 'changelog'
25
+ require_relative '../ui/ui'
26
+ require_relative '../../u3d/utils'
27
+
28
+ module U3dCore
29
+ # Verifies the user runs the latest version of this gem
30
+ class UpdateChecker
31
+ def self.start_looking_for_update(gem_name)
32
+ return if Helper.test?
33
+ return if U3dCore::Env.truthy?("U3D_SKIP_UPDATE_CHECK")
34
+
35
+ @start_time = Time.now
36
+
37
+ Thread.new do
38
+ begin
39
+ server_results[gem_name] = fetch_latest(gem_name)
40
+ # rubocop:disable Lint/HandleExceptions
41
+ rescue StandardError
42
+ # rubocop:enable Lint/HandleExceptions
43
+ # we don't want to show a stack trace if something goes wrong
44
+ end
45
+ end
46
+ end
47
+
48
+ def self.server_results
49
+ @results ||= {}
50
+ end
51
+
52
+ class << self
53
+ attr_reader :start_time
54
+ end
55
+
56
+ def self.update_available?(gem_name, current_version)
57
+ latest = server_results[gem_name]
58
+ return (latest && (Gem::Version.new(latest) > Gem::Version.new(current_version)))
59
+ end
60
+
61
+ # wait a abit for results when commands run real quick
62
+ def self.wait_for_results
63
+ sleep([0, 0.4 - (Time.now - @start_time)].max) if @start_time
64
+ end
65
+
66
+ def self.show_update_status(gem_name, current_version)
67
+ wait_for_results unless update_available?(gem_name, current_version)
68
+ show_update_message(gem_name, current_version) if update_available?(gem_name, current_version)
69
+ end
70
+
71
+ # Show a message to the user to update to a new version of u3d
72
+ # Use this method, as this will detect the current Ruby environment and show an
73
+ # appropriate message to the user
74
+ def self.show_update_message(gem_name, current_version)
75
+ available = server_results[gem_name]
76
+ puts("")
77
+ puts('#######################################################################')
78
+ if available
79
+ puts("# #{gem_name} #{available} is available. You are on #{current_version}.")
80
+ else
81
+ puts("# An update for #{gem_name} is available. You are on #{current_version}.")
82
+ end
83
+ puts("# You should use the latest version.")
84
+ puts("# Please update using `#{update_command(gem_name: gem_name)}`.")
85
+
86
+ # this could be fetched from the gem
87
+ puts("# To see what's new, open https://github.com/DragonBox/#{gem_name}/releases.") if U3dCore::Env.truthy?("U3D_HIDE_CHANGELOG")
88
+
89
+ if !Helper.bundler? && Random.rand(5) == 1
90
+ # We want to show this message from time to time, if the user doesn't use bundler
91
+ puts('#######################################################################')
92
+ puts("# Run `sudo gem cleanup` from time to time to speed up u3d")
93
+ end
94
+ puts('#######################################################################')
95
+ Changelog.show_changes(gem_name, current_version, update_gem_command: UpdateChecker.update_command(gem_name)) unless U3dCore::Env.truthy?("U3D_HIDE_CHANGELOG")
96
+
97
+ ensure_rubygems_source
98
+ end
99
+
100
+ # The command that the user should use to update the gem
101
+ def self.update_command(gem_name)
102
+ if Helper.bundler?
103
+ "bundle update #{gem_name.downcase}"
104
+ else
105
+ "sudo gem install #{gem_name.downcase}"
106
+ end
107
+ end
108
+
109
+ # Check if RubyGems is set as a gem source
110
+ # on some machines that might not be the case
111
+ # and then users can't find the update when
112
+ # running the specified command
113
+ def self.ensure_rubygems_source
114
+ return if `gem sources`.include?("https://rubygems.org")
115
+ puts("")
116
+ UI.error("RubyGems is not listed as your Gem source")
117
+ UI.error("You can run `gem sources` to see all your sources")
118
+ UI.error("Please run the following command to fix this:")
119
+ UI.command("gem sources --add https://rubygems.org")
120
+ end
121
+
122
+ def self.fetch_latest(gem_name)
123
+ JSON.parse(U3d::Utils.page_content(generate_fetch_url(gem_name)))["version"]
124
+ end
125
+
126
+ def self.generate_fetch_url(gem_name)
127
+ "https://rubygems.org/api/v1/gems/#{gem_name}.json"
128
+ end
129
+ end
130
+ end
@@ -32,7 +32,7 @@ Gem::Specification.new do |spec|
32
32
  spec.add_dependency 'rubyzip', '>= 1.0.0' # Installation of .zip files
33
33
  spec.add_dependency 'security', '= 0.1.3' # macOS Keychain manager, a dead project, no updates expected
34
34
  # Development only
35
- spec.add_development_dependency "bundler", "~> 1.13"
35
+ spec.add_development_dependency "bundler", "~> 2.0"
36
36
  spec.add_development_dependency "coveralls"
37
37
  spec.add_development_dependency "github_changelog_generator"
38
38
  spec.add_development_dependency "pry-byebug"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: u3d
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 1.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jerome Lacoste
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2019-11-15 00:00:00.000000000 Z
12
+ date: 2020-02-21 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: colored
@@ -153,14 +153,14 @@ dependencies:
153
153
  requirements:
154
154
  - - "~>"
155
155
  - !ruby/object:Gem::Version
156
- version: '1.13'
156
+ version: '2.0'
157
157
  type: :development
158
158
  prerelease: false
159
159
  version_requirements: !ruby/object:Gem::Requirement
160
160
  requirements:
161
161
  - - "~>"
162
162
  - !ruby/object:Gem::Version
163
- version: '1.13'
163
+ version: '2.0'
164
164
  - !ruby/object:Gem::Dependency
165
165
  name: coveralls
166
166
  requirement: !ruby/object:Gem::Requirement
@@ -420,12 +420,15 @@ files:
420
420
  - lib/u3d_core/core_ext/operating_system_symbol.rb
421
421
  - lib/u3d_core/core_ext/string.rb
422
422
  - lib/u3d_core/credentials.rb
423
+ - lib/u3d_core/env.rb
423
424
  - lib/u3d_core/globals.rb
424
425
  - lib/u3d_core/helper.rb
425
426
  - lib/u3d_core/ui/disable_colors.rb
426
427
  - lib/u3d_core/ui/implementations/shell.rb
427
428
  - lib/u3d_core/ui/interface.rb
428
429
  - lib/u3d_core/ui/ui.rb
430
+ - lib/u3d_core/update_checker/changelog.rb
431
+ - lib/u3d_core/update_checker/update_checker.rb
429
432
  - lib/u3d_core/version.rb
430
433
  - local_gem_install.sh
431
434
  - scripts/be
@@ -449,7 +452,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
449
452
  - !ruby/object:Gem::Version
450
453
  version: '0'
451
454
  requirements: []
452
- rubygems_version: 3.0.1
455
+ rubygems_version: 3.1.2
453
456
  signing_key:
454
457
  specification_version: 4
455
458
  summary: U3d