mpxj 8.3.0 → 8.3.5
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of mpxj might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/README.md +15 -15
- data/docs/AssignmentAttributes.md +1 -1
- data/docs/ResourceAttributes.md +4 -4
- data/docs/TaskAttributes.md +2 -2
- data/lib/mpxj/junit-4.13.1.jar +0 -0
- data/lib/mpxj/mpxj.jar +0 -0
- data/lib/mpxj/reader.rb +7 -7
- data/lib/mpxj/version.rb +1 -1
- metadata +13 -13
- data/lib/mpxj/junit-4.11.jar +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 51aecd6f5f81c0804f6e2e44d46427761f79406f1f9c8a3189d02c3685ae9190
|
4
|
+
data.tar.gz: 134469ea93c301e00f0c83e3f3bf1956c4eb6e59cb1baec33c37636817fa9a21
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 04c15e93465b770001354dafe4db51d9d8ff4fcd90b07689b96e5db5fc93c7f9376234ca79332a53000806f59cbd77c528a7b7e60cbd84632b20c397cc9c7e81
|
7
|
+
data.tar.gz: 33d056b138fbceeab60ba58eecdc34fbc9956a5d52f17f7788fb0649a9046f744e2e152ebc9362ce7b45b0385f53e855f05742d929b22a3bcfc6e1ef45665912
|
data/README.md
CHANGED
@@ -5,7 +5,7 @@ The work required to read data from these files is actually carried out by a [Ja
|
|
5
5
|
and available on your path in order to work with this gem. Once the project data has been read from a file, a set of Ruby objects provides access to the
|
6
6
|
structure of the project plan and its attributes.
|
7
7
|
|
8
|
-
This gem only came about through the interest and support of Procore, who would love to [hear from you](https://www.procore.com/jobs/)
|
8
|
+
This gem only came about through the interest and support of Procore, who would love to [hear from you](https://www.procore.com/jobs/)
|
9
9
|
if you're excited about working with Ruby and Rails.
|
10
10
|
|
11
11
|
## Installation
|
@@ -38,26 +38,26 @@ This gem uses the file name extension to determine what kind of project data it
|
|
38
38
|
* **XER** - Primavera XER file
|
39
39
|
* **PMXML** - Primavera PMXML file
|
40
40
|
* **PP** - Asta Powerproject file
|
41
|
-
|
41
|
+
|
42
42
|
## Example Code
|
43
|
-
|
43
|
+
|
44
44
|
The following is a trivial example showing some basic task and resource details being queried from a project:
|
45
45
|
|
46
46
|
|
47
47
|
project = MPXJ::Reader.read("project1.mpp")
|
48
|
-
|
48
|
+
|
49
49
|
puts "There are #{project.all_tasks.size} tasks in this project"
|
50
50
|
puts "There are #{project.all_resources.size} resources in this project"
|
51
|
-
|
51
|
+
|
52
52
|
puts "The resources are:"
|
53
53
|
project.all_resources.each do |resource|
|
54
54
|
puts resource.name
|
55
55
|
end
|
56
|
-
|
56
|
+
|
57
57
|
puts "The tasks are:"
|
58
58
|
project.all_tasks.each do |task|
|
59
59
|
puts "#{task.name}: starts on #{task.start}, finishes on #{task.finish}, it's duration is #{task.duration}"
|
60
|
-
end
|
60
|
+
end
|
61
61
|
|
62
62
|
## Entities
|
63
63
|
|
@@ -69,10 +69,10 @@ The gem represents the project plan using the following classes, all of which re
|
|
69
69
|
* Assignment
|
70
70
|
* Relation
|
71
71
|
|
72
|
-
A **Project** contains **Resource**s and **Task**s. Each **Resource** can be **Assigned** to one or more **Task**s.
|
72
|
+
A **Project** contains **Resource**s and **Task**s. Each **Resource** can be **Assigned** to one or more **Task**s.
|
73
73
|
**Task**s can have dependencies between them which are represented as **Relation**s.
|
74
74
|
|
75
|
-
|
75
|
+
|
76
76
|
## Methods, Attributes and Data Types
|
77
77
|
|
78
78
|
There are very few explicit methods implemented by the classes noted above. Access to the attributes of each class is provided via a `method_missing` handler which checks to see if the requested method name matches a known attribute name. If it does match, the attribute value is returned, otherwise the normal method missing exception is raised.
|
@@ -87,17 +87,17 @@ The methods defined explicitly by these classes are:
|
|
87
87
|
Project#get_task_by_unique_id(unique_id)
|
88
88
|
Project#get_resource_by_id(id)
|
89
89
|
Project#get_task_by_id(id)
|
90
|
-
|
90
|
+
|
91
91
|
Resource#parent_project
|
92
92
|
Resource#assignments
|
93
|
-
|
93
|
+
|
94
94
|
Task#parent_project
|
95
95
|
Task#assignments
|
96
96
|
Task#predecessors
|
97
97
|
Task#successors
|
98
98
|
Task#child_tasks
|
99
99
|
Task#parent_task
|
100
|
-
|
100
|
+
|
101
101
|
Assignment#parent_project
|
102
102
|
Assignment#task
|
103
103
|
Assignment#resource
|
@@ -106,7 +106,7 @@ Each attribute supported by these classes is represented by appropriate data typ
|
|
106
106
|
|
107
107
|
* String
|
108
108
|
* Duration [https://rubygems.org/gems/duration](https://rubygems.org/gems/duration)
|
109
|
-
* Time
|
109
|
+
* Time
|
110
110
|
* Integer
|
111
111
|
* Float
|
112
112
|
|
@@ -118,8 +118,8 @@ The attributes supported by each class are listed here:
|
|
118
118
|
* [Assignment Attributes](docs/AssignmentAttributes.md)
|
119
119
|
* [Relation Attributes](docs/RelationAttributes.md)
|
120
120
|
|
121
|
-
## Acknowledgements
|
121
|
+
## Acknowledgements
|
122
122
|
This gem includes functionality provided by POI [http://poi.apache.org](http://poi.apache.org/)
|
123
|
-
|
123
|
+
|
124
124
|
This gem includes functionality provided by RTF Parser Kit [https://github.com/joniles/rtfparserkit](https://github.com/joniles/rtfparserkit/)
|
125
125
|
|
data/docs/ResourceAttributes.md
CHANGED
@@ -25,13 +25,13 @@
|
|
25
25
|
Resource#baseline1_finish
|
26
26
|
Resource#baseline1_start
|
27
27
|
Resource#baseline1_work
|
28
|
-
...
|
28
|
+
...
|
29
29
|
Resource#baseline10_budget_cost
|
30
30
|
Resource#baseline10_budget_work
|
31
31
|
Resource#baseline10_cost
|
32
32
|
Resource#baseline10_finish
|
33
33
|
Resource#baseline10_start
|
34
|
-
Resource#baseline10_work
|
34
|
+
Resource#baseline10_work
|
35
35
|
Resource#baseline_budget_cost
|
36
36
|
Resource#baseline_budget_work
|
37
37
|
Resource#baseline_cost
|
@@ -89,7 +89,7 @@
|
|
89
89
|
Resource#enterprise_date30
|
90
90
|
Resource#enterprise_duration1
|
91
91
|
...
|
92
|
-
Resource#enterprise_duration10
|
92
|
+
Resource#enterprise_duration10
|
93
93
|
Resource#enterprise_duration1_units
|
94
94
|
...
|
95
95
|
Resource#enterprise_duration10_units
|
@@ -151,7 +151,7 @@
|
|
151
151
|
Resource#objects
|
152
152
|
Resource#outline_code1
|
153
153
|
...
|
154
|
-
Resource#outline_code10
|
154
|
+
Resource#outline_code10
|
155
155
|
Resource#outline_code1_index
|
156
156
|
...
|
157
157
|
Resource#outline_code10_index
|
data/docs/TaskAttributes.md
CHANGED
@@ -32,7 +32,7 @@
|
|
32
32
|
Task#baseline1_fixed_cost_accrual
|
33
33
|
Task#baseline1_start
|
34
34
|
Task#baseline1_work
|
35
|
-
...
|
35
|
+
...
|
36
36
|
Task#baseline10_budget_cost
|
37
37
|
Task#baseline10_budget_work
|
38
38
|
Task#baseline10_cost
|
@@ -315,4 +315,4 @@
|
|
315
315
|
Task#work
|
316
316
|
Task#work_contour
|
317
317
|
Task#work_variance
|
318
|
-
|
318
|
+
|
Binary file
|
data/lib/mpxj/mpxj.jar
CHANGED
Binary file
|
data/lib/mpxj/reader.rb
CHANGED
@@ -5,7 +5,7 @@ module MPXJ
|
|
5
5
|
# Used to read a project plan from a file
|
6
6
|
class Reader
|
7
7
|
@@max_memory_size = nil
|
8
|
-
|
8
|
+
|
9
9
|
# Reads a project plan from a file, and returns a Project instance
|
10
10
|
# which provides access to the structure and attributes of the project data.
|
11
11
|
# Note that an optional timezone can be supplied to ensue that all date-time
|
@@ -38,7 +38,7 @@ module MPXJ
|
|
38
38
|
# default maximum memory size is used. The value is either a plain integer number of bytes,
|
39
39
|
# or an integer followed by K, M, or G, e.g. `MPXJ::Reader.max_memory_size="500M"`
|
40
40
|
#
|
41
|
-
# @param value new maximum memory size
|
41
|
+
# @param value new maximum memory size
|
42
42
|
def self.max_memory_size=(value)
|
43
43
|
@@max_memory_size = value
|
44
44
|
end
|
@@ -46,11 +46,11 @@ module MPXJ
|
|
46
46
|
# @private
|
47
47
|
def self.jvm_args
|
48
48
|
args = []
|
49
|
-
args << "-Xmx#{@@max_memory_size}" if @@max_memory_size.present?
|
49
|
+
args << "-Xmx#{@@max_memory_size}" if @@max_memory_size.present?
|
50
50
|
args.join(' ')
|
51
51
|
end
|
52
|
-
|
53
|
-
# @private
|
52
|
+
|
53
|
+
# @private
|
54
54
|
def self.path_separator
|
55
55
|
if windows?
|
56
56
|
";"
|
@@ -63,7 +63,7 @@ module MPXJ
|
|
63
63
|
def self.windows?
|
64
64
|
(/cygwin|mswin|mingw|bccwin|wince|emx/ =~ RUBY_PLATFORM) != nil
|
65
65
|
end
|
66
|
-
|
66
|
+
|
67
67
|
# @private
|
68
68
|
def self.report_error(java_output)
|
69
69
|
if java_output.include?('Conversion Error: ')
|
@@ -75,7 +75,7 @@ module MPXJ
|
|
75
75
|
else
|
76
76
|
raise MPXJ::RuntimeError, message
|
77
77
|
end
|
78
|
-
else
|
78
|
+
else
|
79
79
|
raise MPXJ::UnknownError, "Failed to read file: #{java_output}"
|
80
80
|
end
|
81
81
|
end
|
data/lib/mpxj/version.rb
CHANGED
metadata
CHANGED
@@ -1,43 +1,43 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mpxj
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 8.3.
|
4
|
+
version: 8.3.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jon Iles
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-12-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '0'
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '
|
40
|
+
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rspec
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -133,7 +133,7 @@ files:
|
|
133
133
|
- lib/mpxj/jaxb-runtime-2.3.2.jar
|
134
134
|
- lib/mpxj/jgoodies-binding-2.13.0.jar
|
135
135
|
- lib/mpxj/jgoodies-common-1.8.1.jar
|
136
|
-
- lib/mpxj/junit-4.
|
136
|
+
- lib/mpxj/junit-4.13.1.jar
|
137
137
|
- lib/mpxj/mpxj.jar
|
138
138
|
- lib/mpxj/password_protected.rb
|
139
139
|
- lib/mpxj/poi-4.1.2.jar
|
@@ -152,7 +152,7 @@ files:
|
|
152
152
|
- lib/mpxj/version.rb
|
153
153
|
homepage: http://mpxj.sf.net
|
154
154
|
licenses:
|
155
|
-
- LGPL
|
155
|
+
- LGPL-2.1-or-later
|
156
156
|
metadata: {}
|
157
157
|
post_install_message:
|
158
158
|
rdoc_options: []
|
@@ -169,7 +169,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
169
169
|
- !ruby/object:Gem::Version
|
170
170
|
version: '0'
|
171
171
|
requirements: []
|
172
|
-
rubygems_version: 3.0
|
172
|
+
rubygems_version: 3.2.0
|
173
173
|
signing_key:
|
174
174
|
specification_version: 4
|
175
175
|
summary: The MPXJ gem allows Ruby applications to work with schedule data from project
|
data/lib/mpxj/junit-4.11.jar
DELETED
Binary file
|