mpxj 5.6.2 → 5.6.3

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: 8c686b99202d62148e98c5c2e2be5bb5455daacd
4
- data.tar.gz: 108dcf1e1de5299018adddd43e37630d3ea89e95
3
+ metadata.gz: 2ae32c58514d15b5146f7c157d0b4175c15cab92
4
+ data.tar.gz: 20ce27b764b27c538d134773a42ccf2b2e51a842
5
5
  SHA512:
6
- metadata.gz: 84551402a388e2899a32c7331fd46179882f54a9d993fb761454196f6a87a65efb38055e6bb9c8dfd80736534b42d9d3691d5ffa424d5f4b67e9607ebfc4acdc
7
- data.tar.gz: 1ecbaae33ee5184ebd7ceb0a1e0c537e45acb0df6e53093a841ac7f6b722cd9ac9204bc476bf5cc0f3d86a94a9b622b278f6c11c71daabb5f1c47369aafd89a0
6
+ metadata.gz: f5a476a8c48a80ce1e193b0e4d7f531c23369750af9ccbf02864717afbc6ff5bccb5e841ce60cd25cf7a2f23e8316647cd79124ae7a37f0955a14c61a97acf05
7
+ data.tar.gz: 37c5a7b3da5e86365a4e0357c07856f6a8beb65f1532d56607fcfda37b5b1a7c0b3ae650bc03f547a2b6549c08f8ac6123f083fa4d01f90cf69eea59236cf5d3
Binary file
@@ -4,6 +4,8 @@ require 'active_support/core_ext/time/calculations'
4
4
  module MPXJ
5
5
  # Used to read a project plan from a file
6
6
  class Reader
7
+ @@max_memory_size = nil
8
+
7
9
  # Reads a project plan from a file, and returns a Project instance
8
10
  # which provides access to the structure and attributes of the project data.
9
11
  # Note that an optional timezone can be supplied to ensue that all date-time
@@ -19,7 +21,7 @@ module MPXJ
19
21
 
20
22
  begin
21
23
  classpath = Dir["#{File.dirname(__FILE__)}/*.jar"].join(path_separator)
22
- java_output = `java -cp \"#{classpath}\" net.sf.mpxj.sample.MpxjConvert \"#{file_name}\" \"#{json_file.path}\"`
24
+ java_output = `java -cp \"#{classpath}\" #{jvm_args} net.sf.mpxj.sample.MpxjConvert \"#{file_name}\" \"#{json_file.path}\"`
23
25
  if $?.exitstatus != 0
24
26
  report_error(java_output)
25
27
  end
@@ -31,7 +33,24 @@ module MPXJ
31
33
  project
32
34
  end
33
35
 
36
+ # Allows the caller to set the maximum memory size used by the JVM when processing a schedule.
37
+ # This is useful when handling large schedules which cause out of memory failures if the JVM's
38
+ # default maximum memory size is used. The value is either a plain integer number of bytes,
39
+ # or an integer followed by K, M, or G, e.g. `MPXJ::Reader.max_memory_size="500M"`
40
+ #
41
+ # @param value new maximum memory size
42
+ def self.max_memory_size=(value)
43
+ @@max_memory_size = value
44
+ end
45
+
34
46
  # @private
47
+ def self.jvm_args
48
+ args = []
49
+ args << "-Xmx#{@@max_memory_size}" if @@max_memory_size.present?
50
+ args.join(' ')
51
+ end
52
+
53
+ # @private
35
54
  def self.path_separator
36
55
  if windows?
37
56
  ";"
@@ -1,5 +1,5 @@
1
1
  # MPXJ gem module
2
2
  module MPXJ
3
3
  # MPXJ gem version number
4
- VERSION = "5.6.2"
4
+ VERSION = "5.6.3"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mpxj
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.6.2
4
+ version: 5.6.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jon Iles
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-02-06 00:00:00.000000000 Z
11
+ date: 2017-02-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -126,7 +126,7 @@ files:
126
126
  - lib/mpxj/reader.rb
127
127
  - lib/mpxj/relation.rb
128
128
  - lib/mpxj/resource.rb
129
- - lib/mpxj/rtfparserkit-1.9.0.jar
129
+ - lib/mpxj/rtfparserkit-1.10.0.jar
130
130
  - lib/mpxj/runtime_error.rb
131
131
  - lib/mpxj/sqlite-jdbc-3.8.10.1.jar
132
132
  - lib/mpxj/task.rb