u3d 0.9.4 → 1.0.0.rc1

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
  SHA1:
3
- metadata.gz: c68ca1631ef225a55a415c640c57eaed1473e61a
4
- data.tar.gz: 4899c1c544a85d41d1f3e2b92bcba1d1d600537a
3
+ metadata.gz: e508672f1da9f6624953f8f6a90f0afaf1beef3c
4
+ data.tar.gz: 87742f09a7fef30a80581e63246e2eedea1e43cd
5
5
  SHA512:
6
- metadata.gz: aab3ea744686801d7400624c14420774473ed7fdcfdbf8aad94c5ae18dad3e64923ea4c0b17b7889fad997413c40f7bc91f5ca4df0c625dbe122c68c408a1a98
7
- data.tar.gz: fb2c35b58767186afcf78d14471464ddf767868bcc93fb5b310c95a3dc93927695129f0f7d69e80ed2cfa72b61d8ff43da0a8c44da11ee36d77adab4e87c9eb8
6
+ metadata.gz: 43d5d3c4a0265738647680ea9162b196710e72f7499bc4035cc0c35f4452c1fb6ecf858f301d65d8b36c56c30c9b5dc2005ade7498ab4e152d98c90a8d7ea922
7
+ data.tar.gz: 789fb379c38576c2d5825e6cac1cf5787fb68f85a59f699a11559aa69f00a4bc8109db9b4f1d6586992e539dc3a69727bd78d588830568110020ed6d3680e159
@@ -1,4 +1,4 @@
1
- future-release=v1.0
1
+ future-release=v1.0.0.rc1
2
2
  since-tag=v0.9
3
3
  exclude_tags_regex=v0\.[0-8]\..*
4
4
  exclude-labels=nochangelog
data/CHANGELOG.md CHANGED
@@ -1,5 +1,33 @@
1
1
  # Change Log
2
2
 
3
+ ## [v1.0.0.rc1](https://github.com/DragonBox/u3d/tree/v1.0.0.rc1) (2017-08-30)
4
+ [Full Changelog](https://github.com/DragonBox/u3d/compare/v0.9.4...v1.0.0.rc1)
5
+
6
+ **Implemented enhancements:**
7
+
8
+ - u3d/install: move chmod +x of linux files at install time [\#91](https://github.com/DragonBox/u3d/issues/91)
9
+
10
+ **Fixed bugs:**
11
+
12
+ - Log prettifier not logging command line arguments \(among other initialisation things\) on Unity 2017+ [\#99](https://github.com/DragonBox/u3d/issues/99)
13
+ - Error if stdout closed while writing to it [\#96](https://github.com/DragonBox/u3d/issues/96)
14
+ - Downloader not as fast as it should be [\#93](https://github.com/DragonBox/u3d/issues/93)
15
+
16
+ **Closed issues:**
17
+
18
+ - u3d/prettify: missing executeMethod failure / exception catching [\#102](https://github.com/DragonBox/u3d/issues/102)
19
+ - Ensure u3d works well on ruby 2.4.1 [\#82](https://github.com/DragonBox/u3d/issues/82)
20
+
21
+ **Merged pull requests:**
22
+
23
+ - fastlane-plugin-u3d: allow to depend on coming 1.0.0 version [\#109](https://github.com/DragonBox/u3d/pull/109) ([lacostej](https://github.com/lacostej))
24
+ - u3d/run allow to configure the rules.json location using U3D\_RULES\_PATH env variable [\#108](https://github.com/DragonBox/u3d/pull/108) ([lacostej](https://github.com/lacostej))
25
+ - u3d/run: if thread exits abnormally, don't wait for it and return [\#107](https://github.com/DragonBox/u3d/pull/107) ([lacostej](https://github.com/lacostej))
26
+ - Add log rules to parse exceptions and aborts [\#106](https://github.com/DragonBox/u3d/pull/106) ([niezbop](https://github.com/niezbop))
27
+ - Fix INIT log phase not starting when intended [\#101](https://github.com/DragonBox/u3d/pull/101) ([niezbop](https://github.com/niezbop))
28
+ - u3d/install: move chmod +x of linux files at install time \(Fixes \#91\) [\#100](https://github.com/DragonBox/u3d/pull/100) ([lacostej](https://github.com/lacostej))
29
+ - logger: Hide EPIPE errors when stdout already closed [\#97](https://github.com/DragonBox/u3d/pull/97) ([lacostej](https://github.com/lacostej))
30
+
3
31
  ## [v0.9.4](https://github.com/DragonBox/u3d/tree/v0.9.4) (2017-08-28)
4
32
  [Full Changelog](https://github.com/DragonBox/u3d/compare/v0.9.3...v0.9.4)
5
33
 
@@ -7,7 +35,6 @@
7
35
 
8
36
  - Merge install and local\_install commands [\#84](https://github.com/DragonBox/u3d/issues/84)
9
37
  - Document installation path sanitization [\#50](https://github.com/DragonBox/u3d/issues/50)
10
- - Make unity versions test unit [\#72](https://github.com/DragonBox/u3d/pull/72) ([niezbop](https://github.com/niezbop))
11
38
  - \[tech\] rubocop: update version and fix windows compatibility [\#61](https://github.com/DragonBox/u3d/pull/61) ([lacostej](https://github.com/lacostej))
12
39
  - u3d/install local\_install: if no version specified, fallback on version required by current project [\#53](https://github.com/DragonBox/u3d/pull/53) ([lacostej](https://github.com/lacostej))
13
40
  - u3d/install: display more information during sanization, including what would happen \(fixes \#50\) [\#51](https://github.com/DragonBox/u3d/pull/51) ([lacostej](https://github.com/lacostej))
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- u3d (0.9.4)
4
+ u3d (1.0.0.rc1)
5
5
  colored (>= 1.2, < 2.0.0)
6
6
  commander (>= 4.4.0, < 5.0.0)
7
7
  file-tail (>= 1.2.0)
@@ -22,6 +22,29 @@
22
22
  ],
23
23
  "type": "error"
24
24
  },
25
+ "exception": {
26
+ "active": true,
27
+ "start_pattern": "[eE]xception.*: (?<message>.*)\\n",
28
+ "end_pattern": "Filename: (?:[\\w/:]+/(?<file>\\w+\\.\\w+))? Line: (?<line>-?\\d+)",
29
+ "start_message": false,
30
+ "end_message": "%{file}(line %{line}): %{message}",
31
+ "store_lines": false,
32
+ "ignore_lines": [
33
+ "UnityEditor",
34
+ "UnityEngine",
35
+ "^\\n"
36
+ ],
37
+ "type": "error"
38
+ },
39
+ "exception_report": {
40
+ "active": true,
41
+ "start_pattern": "^(?<message>.*threw exception\\.)\\n",
42
+ "end_pattern": "Filename: (?:[\\w/:]+/(?<file>\\w+\\.\\w+))? Line: (?<line>-?\\d+)",
43
+ "start_message": false,
44
+ "end_message": "%{file}(line %{line}): %{message}",
45
+ "store_lines": false,
46
+ "type": "error"
47
+ },
25
48
  "log": {
26
49
  "active": true,
27
50
  "start_pattern": "UnityEngine\\.Debug:Log\\(Object\\)",
@@ -99,6 +122,12 @@
99
122
  "active": true,
100
123
  "start_pattern": "Exiting batchmode successfully now!",
101
124
  "type": "success"
125
+ },
126
+ "batchmode_abort": {
127
+ "active": true,
128
+ "start_pattern": "Aborting batchmode due to failure",
129
+ "end_pattern": ".*",
130
+ "type": "error"
102
131
  }
103
132
  }
104
133
  },
@@ -118,7 +147,7 @@
118
147
  "active": true,
119
148
  "silent": false,
120
149
  "comment": "Initialization on editor launch",
121
- "phase_start_pattern": "Initialize mono",
150
+ "phase_start_pattern": "(?:COMMAND LINE|Initialize mono)",
122
151
  "rules": {
123
152
  "mono_options": {
124
153
  "active": true,
@@ -1,13 +1,13 @@
1
1
  PATH
2
- remote: /Users/lacostej/Code/WWTK/u3d/fastlane-plugin-u3d
2
+ remote: /Users/lacostej/Code/OSS/u3d/fastlane-plugin-u3d
3
3
  specs:
4
- fastlane-plugin-u3d (0.1.0)
5
- u3d (~> 0.9)
4
+ fastlane-plugin-u3d (0.1.1)
5
+ u3d (>= 0.9, < 2.0)
6
6
 
7
7
  PATH
8
- remote: /Users/lacostej/Code/WWTK/u3d
8
+ remote: /Users/lacostej/Code/OSS/u3d
9
9
  specs:
10
- u3d (0.9.1)
10
+ u3d (1.0.0.rc1)
11
11
  colored (>= 1.2, < 2.0.0)
12
12
  commander (>= 4.4.0, < 5.0.0)
13
13
  file-tail (>= 1.2.0)
@@ -20,8 +20,8 @@ GEM
20
20
  remote: https://rubygems.org/
21
21
  specs:
22
22
  CFPropertyList (2.3.5)
23
- addressable (2.5.1)
24
- public_suffix (~> 2.0, >= 2.0.2)
23
+ addressable (2.5.2)
24
+ public_suffix (>= 2.0.2, < 4.0)
25
25
  babosa (1.0.2)
26
26
  claide (1.0.2)
27
27
  colored (1.2)
@@ -35,16 +35,16 @@ GEM
35
35
  domain_name (0.5.20170404)
36
36
  unf (>= 0.0.5, < 1.0.0)
37
37
  dotenv (2.2.1)
38
- excon (0.57.1)
39
- faraday (0.12.1)
38
+ excon (0.58.0)
39
+ faraday (0.13.1)
40
40
  multipart-post (>= 1.2, < 3)
41
41
  faraday-cookie_jar (0.0.6)
42
42
  faraday (>= 0.7.4)
43
43
  http-cookie (~> 1.0.0)
44
- faraday_middleware (0.11.0.1)
44
+ faraday_middleware (0.12.2)
45
45
  faraday (>= 0.7.4, < 1.0)
46
46
  fastimage (2.1.0)
47
- fastlane (2.47.0)
47
+ fastlane (2.54.4)
48
48
  CFPropertyList (>= 2.3, < 3.0.0)
49
49
  addressable (>= 2.3, < 3.0.0)
50
50
  babosa (>= 1.0.2, < 2.0.0)
@@ -58,7 +58,7 @@ GEM
58
58
  faraday_middleware (~> 0.9)
59
59
  fastimage (>= 2.1.0, < 3.0.0)
60
60
  gh_inspector (>= 1.0.1, < 2.0.0)
61
- google-api-client (>= 0.12.0, < 0.13.0)
61
+ google-api-client (>= 0.13.1, < 0.14.0)
62
62
  highline (>= 1.7.2, < 2.0.0)
63
63
  json (< 3.0.0)
64
64
  mini_magick (~> 4.5.1)
@@ -66,6 +66,7 @@ GEM
66
66
  multi_xml (~> 0.5)
67
67
  multipart-post (~> 2.0.0)
68
68
  plist (>= 3.1.0, < 4.0.0)
69
+ public_suffix (~> 2.0.0)
69
70
  rubyzip (>= 1.1.0, < 2.0.0)
70
71
  security (= 0.1.3)
71
72
  slack-notifier (>= 1.3, < 2.0.0)
@@ -73,21 +74,21 @@ GEM
73
74
  terminal-table (>= 1.4.5, < 2.0.0)
74
75
  tty-screen (~> 0.5.0)
75
76
  word_wrap (~> 1.0.0)
76
- xcodeproj (>= 1.4.4, < 2.0.0)
77
+ xcodeproj (>= 1.5.0, < 2.0.0)
77
78
  xcpretty (>= 0.2.4, < 1.0.0)
78
79
  xcpretty-travis-formatter (>= 0.0.3)
79
80
  file-tail (1.2.0)
80
81
  tins (~> 1.0)
81
82
  filesize (0.1.1)
82
83
  gh_inspector (1.0.3)
83
- google-api-client (0.12.0)
84
+ google-api-client (0.13.4)
84
85
  addressable (~> 2.5, >= 2.5.1)
85
86
  googleauth (~> 0.5)
86
87
  httpclient (>= 2.8.1, < 3.0)
87
88
  mime-types (~> 3.0)
88
89
  representable (~> 3.0)
89
90
  retriable (>= 2.0, < 4.0)
90
- googleauth (0.5.2)
91
+ googleauth (0.5.3)
91
92
  faraday (~> 0.12)
92
93
  jwt (~> 1.4)
93
94
  logging (~> 2.0)
@@ -122,7 +123,7 @@ GEM
122
123
  declarative (< 0.1.0)
123
124
  declarative-option (< 0.2.0)
124
125
  uber (< 0.2.0)
125
- retriable (3.0.2)
126
+ retriable (3.1.1)
126
127
  rouge (2.0.7)
127
128
  rubyzip (1.2.1)
128
129
  security (0.1.3)
@@ -162,4 +163,4 @@ DEPENDENCIES
162
163
  u3d!
163
164
 
164
165
  BUNDLED WITH
165
- 1.15.3
166
+ 1.15.4
@@ -1,13 +1,13 @@
1
1
  PATH
2
- remote: /Users/lacostej/Code/WWTK/u3d/fastlane-plugin-u3d
2
+ remote: /Users/lacostej/Code/OSS/u3d/fastlane-plugin-u3d
3
3
  specs:
4
- fastlane-plugin-u3d (0.1.0)
5
- u3d (~> 0.9)
4
+ fastlane-plugin-u3d (0.1.1)
5
+ u3d (>= 0.9, < 2.0)
6
6
 
7
7
  PATH
8
- remote: /Users/lacostej/Code/WWTK/u3d
8
+ remote: /Users/lacostej/Code/OSS/u3d
9
9
  specs:
10
- u3d (0.9.1)
10
+ u3d (1.0.0.rc1)
11
11
  colored (>= 1.2, < 2.0.0)
12
12
  commander (>= 4.4.0, < 5.0.0)
13
13
  file-tail (>= 1.2.0)
@@ -20,8 +20,8 @@ GEM
20
20
  remote: https://rubygems.org/
21
21
  specs:
22
22
  CFPropertyList (2.3.5)
23
- addressable (2.5.1)
24
- public_suffix (~> 2.0, >= 2.0.2)
23
+ addressable (2.5.2)
24
+ public_suffix (>= 2.0.2, < 4.0)
25
25
  babosa (1.0.2)
26
26
  claide (1.0.2)
27
27
  colored (1.2)
@@ -35,16 +35,16 @@ GEM
35
35
  domain_name (0.5.20170404)
36
36
  unf (>= 0.0.5, < 1.0.0)
37
37
  dotenv (2.2.1)
38
- excon (0.57.1)
39
- faraday (0.12.1)
38
+ excon (0.58.0)
39
+ faraday (0.13.1)
40
40
  multipart-post (>= 1.2, < 3)
41
41
  faraday-cookie_jar (0.0.6)
42
42
  faraday (>= 0.7.4)
43
43
  http-cookie (~> 1.0.0)
44
- faraday_middleware (0.11.0.1)
44
+ faraday_middleware (0.12.2)
45
45
  faraday (>= 0.7.4, < 1.0)
46
46
  fastimage (2.1.0)
47
- fastlane (2.47.0)
47
+ fastlane (2.54.4)
48
48
  CFPropertyList (>= 2.3, < 3.0.0)
49
49
  addressable (>= 2.3, < 3.0.0)
50
50
  babosa (>= 1.0.2, < 2.0.0)
@@ -58,7 +58,7 @@ GEM
58
58
  faraday_middleware (~> 0.9)
59
59
  fastimage (>= 2.1.0, < 3.0.0)
60
60
  gh_inspector (>= 1.0.1, < 2.0.0)
61
- google-api-client (>= 0.12.0, < 0.13.0)
61
+ google-api-client (>= 0.13.1, < 0.14.0)
62
62
  highline (>= 1.7.2, < 2.0.0)
63
63
  json (< 3.0.0)
64
64
  mini_magick (~> 4.5.1)
@@ -66,6 +66,7 @@ GEM
66
66
  multi_xml (~> 0.5)
67
67
  multipart-post (~> 2.0.0)
68
68
  plist (>= 3.1.0, < 4.0.0)
69
+ public_suffix (~> 2.0.0)
69
70
  rubyzip (>= 1.1.0, < 2.0.0)
70
71
  security (= 0.1.3)
71
72
  slack-notifier (>= 1.3, < 2.0.0)
@@ -73,21 +74,21 @@ GEM
73
74
  terminal-table (>= 1.4.5, < 2.0.0)
74
75
  tty-screen (~> 0.5.0)
75
76
  word_wrap (~> 1.0.0)
76
- xcodeproj (>= 1.4.4, < 2.0.0)
77
+ xcodeproj (>= 1.5.0, < 2.0.0)
77
78
  xcpretty (>= 0.2.4, < 1.0.0)
78
79
  xcpretty-travis-formatter (>= 0.0.3)
79
80
  file-tail (1.2.0)
80
81
  tins (~> 1.0)
81
82
  filesize (0.1.1)
82
83
  gh_inspector (1.0.3)
83
- google-api-client (0.12.0)
84
+ google-api-client (0.13.4)
84
85
  addressable (~> 2.5, >= 2.5.1)
85
86
  googleauth (~> 0.5)
86
87
  httpclient (>= 2.8.1, < 3.0)
87
88
  mime-types (~> 3.0)
88
89
  representable (~> 3.0)
89
90
  retriable (>= 2.0, < 4.0)
90
- googleauth (0.5.2)
91
+ googleauth (0.5.3)
91
92
  faraday (~> 0.12)
92
93
  jwt (~> 1.4)
93
94
  logging (~> 2.0)
@@ -122,7 +123,7 @@ GEM
122
123
  declarative (< 0.1.0)
123
124
  declarative-option (< 0.2.0)
124
125
  uber (< 0.2.0)
125
- retriable (3.0.2)
126
+ retriable (3.1.1)
126
127
  rouge (2.0.7)
127
128
  rubyzip (1.2.1)
128
129
  security (0.1.3)
@@ -162,4 +163,4 @@ DEPENDENCIES
162
163
  u3d!
163
164
 
164
165
  BUNDLED WITH
165
- 1.15.3
166
+ 1.15.4
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
10
10
  spec.email = %q{jerome.lacoste@gmail.com}
11
11
 
12
12
  spec.summary = %q{Fastgame's u3d (a Unity3d CLI) integration}
13
- # spec.homepage = "https://github.com/<GITHUB_USERNAME>/fastlane-plugin-u3d"
13
+ spec.homepage = "https://github.com/DragonBox/u3d/tree/master/fastlane-plugin-u3d"
14
14
  spec.license = "MIT"
15
15
 
16
16
  spec.files = Dir["lib/**/*"] + %w(README.md LICENSE)
@@ -20,7 +20,7 @@ Gem::Specification.new do |spec|
20
20
  # Don't add a dependency to fastlane or fastlane_re
21
21
  # since this would cause a circular dependency
22
22
 
23
- spec.add_dependency 'u3d', '~> 0.9'
23
+ spec.add_dependency 'u3d', '>= 0.9', "<2.0"
24
24
 
25
25
  spec.add_development_dependency 'pry'
26
26
  spec.add_development_dependency 'bundler'
@@ -22,6 +22,6 @@
22
22
 
23
23
  module Fastlane
24
24
  module U3d
25
- VERSION = "0.1.0"
25
+ VERSION = "0.1.1"
26
26
  end
27
27
  end
@@ -71,7 +71,17 @@ module U3d
71
71
  run_args = extract_run_args
72
72
 
73
73
  c.syntax = 'u3d run [-u | --unity_version <version>] [-r | --raw_logs] [ -- <run_args>]'
74
- c.description = 'Run unity, and parses its output through u3d\'s log prettifier'
74
+ c.summary = 'Run unity, and parses its output through u3d\'s log prettifier'
75
+ c.description = %(
76
+ #{c.summary}
77
+
78
+ The default prettifier rules file is packaged with u3d (#{U3d::LogAnalyzer::RULES_PATH}).
79
+ You may which to pass your own using the environment variable U3D_RULES_PATH.
80
+
81
+ E.g. U3D_RULES_PATH=my_rules.json u3d -- ...
82
+
83
+ Fore more information about how the rules work, see https://github.com/DragonBox/u3d/blob/master/LOG_RULES.md
84
+ )
75
85
  c.option '-u', '--unity_version STRING', String, 'Version of Unity to run with. If not specified, it runs with the version of the project (either specified as -projectpath or current)'
76
86
  c.option '-r', '--raw_logs', 'Raw Unity output, not filtered by u3d\'s log prettifier'
77
87
  c.action do |args, options|
@@ -53,11 +53,6 @@ module U3d
53
53
  packages.each do |package|
54
54
  get_package(downloader, validator, package, definition, files)
55
55
  end
56
-
57
- # On Linux, make sure the files are executable
58
- # FIXME: Move me to the LinuxInstaller
59
- files.each { |f| U3dCore::CommandExecutor.execute(command: "chmod a+x #{f[1]}") } if definition.os == :linux
60
-
61
56
  files
62
57
  end
63
58
 
data/lib/u3d/installer.rb CHANGED
@@ -192,15 +192,23 @@ module U3d
192
192
  installation_path: path
193
193
  )
194
194
  # Forces sanitation for installation of 'weird' versions eg 5.6.1xf1Linux
195
- sanitize_install(installed.select { |u| u.version == version }.first)
195
+ unity = installed.select { |u| u.version == version }.first
196
+ if unity
197
+ sanitize_install(unity)
198
+ else
199
+ UI.error "Unity was not installed properly"
200
+ end
196
201
  end
197
202
 
198
203
  def install_sh(file, installation_path: nil)
199
204
  cmd = file.shellescape
205
+
206
+ U3dCore::CommandExecutor.execute(command: "chmod a+x #{cmd}")
207
+
200
208
  if installation_path
201
- command = "cd \"#{installation_path}\"; #{cmd}"
209
+ command = "cd #{installation_path.shellescape}; #{cmd}"
202
210
  unless File.directory? installation_path
203
- command = "mkdir -p \"#{installation_path}\"; #{command}"
211
+ command = "mkdir -p #{installation_path.shellescape}; #{command}"
204
212
  end
205
213
  U3dCore::CommandExecutor.execute(command: command, admin: true)
206
214
  else
@@ -42,7 +42,7 @@ module U3d
42
42
  generic_rules = {}
43
43
  phases = {}
44
44
 
45
- data = JSON.parse(File.read(RULES_PATH))
45
+ data = JSON.parse(File.read(rules_path))
46
46
 
47
47
  if data['GENERAL'] && data['GENERAL']['active']
48
48
  data['GENERAL']['rules'].each do |rn, r|
@@ -195,6 +195,16 @@ module U3d
195
195
 
196
196
  private
197
197
 
198
+ def rules_path
199
+ path = ENV["U3D_RULES_PATH"]
200
+ unless path.nil?
201
+ UI.user_error!("Specified rules path '#{path}' isn't a file") unless File.exist? path
202
+ UI.message("Using #{path} for prettify rules path")
203
+ end
204
+ path = RULES_PATH if path.nil?
205
+ path
206
+ end
207
+
198
208
  def inject(string, params: {})
199
209
  message = "This is a default message."
200
210
  begin
@@ -45,7 +45,8 @@ module U3d
45
45
  end
46
46
 
47
47
  # Wait for tail_thread setup to be complete
48
- sleep 0.5 while tail_thread.status != 'sleep'
48
+ sleep 0.5 while tail_thread.status == 'run'
49
+ return unless tail_thread.status
49
50
  tail_thread.run
50
51
 
51
52
  begin
data/lib/u3d/version.rb CHANGED
@@ -21,7 +21,7 @@
21
21
  ## --- END LICENSE BLOCK ---
22
22
 
23
23
  module U3d
24
- VERSION = '0.9.4'.freeze
24
+ VERSION = '1.0.0.rc1'.freeze
25
25
  DESCRIPTION = 'Provides numerous tools for installing, managing and running the Unity3D game engine from command line.'.freeze
26
26
  UNITY_VERSIONS_NOTE = "Unity3d 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 Unity3d\n"\
@@ -33,7 +33,7 @@ module U3dCore
33
33
  @log ||= if Helper.test?
34
34
  Logger.new(nil) # don't show any logs when running tests
35
35
  else
36
- Logger.new($stdout)
36
+ Logger.new(EPipeIgnorerLogDevice.new($stdout))
37
37
  end
38
38
 
39
39
  @log.formatter = proc do |severity, datetime, _progname, msg|
@@ -45,6 +45,20 @@ module U3dCore
45
45
  @log
46
46
  end
47
47
 
48
+ class EPipeIgnorerLogDevice < Logger::LogDevice
49
+ def initialize(logdev)
50
+ @logdev = logdev
51
+ end
52
+
53
+ # rubocop:disable HandleExceptions
54
+ def write(message)
55
+ @logdev.write(message)
56
+ rescue Errno::EPIPE
57
+ # ignored
58
+ end
59
+ # rubocop:enable HandleExceptions
60
+ end
61
+
48
62
  def format_string(datetime = Time.now, severity = "")
49
63
  if U3dCore::Globals.log_timestamps?
50
64
  timestamp = ENV["U3D_UI_TIMESTAMP"]
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: 0.9.4
4
+ version: 1.0.0.rc1
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: 2017-08-28 00:00:00.000000000 Z
12
+ date: 2017-08-30 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: commander
@@ -405,9 +405,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
405
405
  version: '0'
406
406
  required_rubygems_version: !ruby/object:Gem::Requirement
407
407
  requirements:
408
- - - ">="
408
+ - - ">"
409
409
  - !ruby/object:Gem::Version
410
- version: '0'
410
+ version: 1.3.1
411
411
  requirements: []
412
412
  rubyforge_project:
413
413
  rubygems_version: 2.6.12