diff --git a/CHANGELOG.md b/CHANGELOG.md index 9814573d63..c5dd35c469 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,9 @@ From version 14.0.0 onwards the `net.sf.mpxj`, `net.sf.mpxj-for-csharp` and `net no longer be distributed. Please use the `MPXJ.Net` package instead. -## 13.8.0 (unreleased) +## 13.9.0 (unreleased) + +## 13.8.0 (2024-12-17) * Added support for reading and writing Project Codes, Resource Codes, Role Codes and Resource Assignment Codes for Primavera P6 schedules. * When writing PMXML files, improve handling of P6 schedules where activity code sequence numbers are missing. * Added an *experimental* feature to `MSPDIWriter` to allow the writer to generate timephased data when none is present. Disabled by default, call the `setGenerateMissingTimephasedData` and pass `true` to enable. @@ -16,6 +18,7 @@ no longer be distributed. Please use the `MPXJ.Net` package instead. * Marked the `ActivityCodeValue.getParent()` method as deprecated. Use `ActivityCodeValue.getParentValue()` instead. * Marked the `ActivityCodeValue.getParentUniqueID()` method as deprecated. Use `ActivityCodeValue.getParentValueUniqueID()` instead. * Marked the `ActivityCodeValue.Builder.parent()` method as deprecated. Use `ActivityCodeValue.Builder.parentValue()` instead. +* Marked the `ActivityCodeValue.getActivityCode()` method as deprecated. Use `ActivityCodeValue.getParentCode()` instead. ## 13.7.0 (2024-11-25) * Update the MPXJ ruby gem to allow access to calendar data. diff --git a/build.xml b/build.xml index ec5f4de631..398f80a837 100644 --- a/build.xml +++ b/build.xml @@ -7,7 +7,7 @@ - + diff --git a/pom.tests.xml b/pom.tests.xml index b5671dade9..fd9b286427 100644 --- a/pom.tests.xml +++ b/pom.tests.xml @@ -7,7 +7,7 @@ 4.0.0 net.sf.mpxj mpxj-tests - 13.7.0 + 13.8.0 MPXJ Tests diff --git a/pom.xml b/pom.xml index 6bd40c38ef..c94d67d97d 100644 --- a/pom.xml +++ b/pom.xml @@ -7,7 +7,7 @@ 4.0.0 net.sf.mpxj mpxj - 13.7.0 + 13.8.0 MPXJ http://mpxj.org diff --git a/src.net/samples/MpxjConvert/Properties/AssemblyInfo.cs b/src.net/samples/MpxjConvert/Properties/AssemblyInfo.cs index e256e1b8eb..7e1dd3bc4f 100644 --- a/src.net/samples/MpxjConvert/Properties/AssemblyInfo.cs +++ b/src.net/samples/MpxjConvert/Properties/AssemblyInfo.cs @@ -31,6 +31,6 @@ // // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: -// [assembly: AssemblyVersion("13.7.0.0")] -[assembly: AssemblyVersion("13.7.0.0")] -[assembly: AssemblyFileVersion("13.7.0.0")] +// [assembly: AssemblyVersion("13.8.0.0")] +[assembly: AssemblyVersion("13.8.0.0")] +[assembly: AssemblyFileVersion("13.8.0.0")] diff --git a/src.net/samples/MpxjCreate/Properties/AssemblyInfo.cs b/src.net/samples/MpxjCreate/Properties/AssemblyInfo.cs index 647f391eec..c77fcd97c4 100644 --- a/src.net/samples/MpxjCreate/Properties/AssemblyInfo.cs +++ b/src.net/samples/MpxjCreate/Properties/AssemblyInfo.cs @@ -31,6 +31,6 @@ // // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: -// [assembly: AssemblyVersion("13.7.0.0")] -[assembly: AssemblyVersion("13.7.0.0")] -[assembly: AssemblyFileVersion("13.7.0.0")] +// [assembly: AssemblyVersion("13.8.0.0")] +[assembly: AssemblyVersion("13.8.0.0")] +[assembly: AssemblyFileVersion("13.8.0.0")] diff --git a/src.net/samples/MpxjPrimaveraConvert/Properties/AssemblyInfo.cs b/src.net/samples/MpxjPrimaveraConvert/Properties/AssemblyInfo.cs index f1f78c413e..3b3e2c3c8c 100644 --- a/src.net/samples/MpxjPrimaveraConvert/Properties/AssemblyInfo.cs +++ b/src.net/samples/MpxjPrimaveraConvert/Properties/AssemblyInfo.cs @@ -31,6 +31,6 @@ // // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: -// [assembly: AssemblyVersion("13.7.0.0")] -[assembly: AssemblyVersion("13.7.0.0")] -[assembly: AssemblyFileVersion("13.7.0.0")] +// [assembly: AssemblyVersion("13.8.0.0")] +[assembly: AssemblyVersion("13.8.0.0")] +[assembly: AssemblyFileVersion("13.8.0.0")] diff --git a/src.net/samples/MpxjQuery/Properties/AssemblyInfo.cs b/src.net/samples/MpxjQuery/Properties/AssemblyInfo.cs index 8c4923c1e5..bde2732aeb 100644 --- a/src.net/samples/MpxjQuery/Properties/AssemblyInfo.cs +++ b/src.net/samples/MpxjQuery/Properties/AssemblyInfo.cs @@ -31,6 +31,6 @@ // // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: -// [assembly: AssemblyVersion("13.7.0.0")] -[assembly: AssemblyVersion("13.7.0.0")] -[assembly: AssemblyFileVersion("13.7.0.0")] +// [assembly: AssemblyVersion("13.8.0.0")] +[assembly: AssemblyVersion("13.8.0.0")] +[assembly: AssemblyFileVersion("13.8.0.0")] diff --git a/src.net/samples/MpxjTest/Properties/AssemblyInfo.cs b/src.net/samples/MpxjTest/Properties/AssemblyInfo.cs index 7ea34f59d0..8761dc7008 100644 --- a/src.net/samples/MpxjTest/Properties/AssemblyInfo.cs +++ b/src.net/samples/MpxjTest/Properties/AssemblyInfo.cs @@ -32,6 +32,6 @@ // // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: -// [assembly: AssemblyVersion("13.7.0.0")] -[assembly: AssemblyVersion("13.7.0.0")] -[assembly: AssemblyFileVersion("13.7.0.0")] +// [assembly: AssemblyVersion("13.8.0.0")] +[assembly: AssemblyVersion("13.8.0.0")] +[assembly: AssemblyFileVersion("13.8.0.0")] diff --git a/src.net/utilities/AssemblyInfo.cs b/src.net/utilities/AssemblyInfo.cs index f9681a135d..fc96a66f19 100644 --- a/src.net/utilities/AssemblyInfo.cs +++ b/src.net/utilities/AssemblyInfo.cs @@ -32,6 +32,6 @@ // // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: -// [assembly: AssemblyVersion("13.7.0.0")] -[assembly: AssemblyVersion("13.7.0.0")] -[assembly: AssemblyFileVersion("13.7.0.0")] +// [assembly: AssemblyVersion("13.8.0.0")] +[assembly: AssemblyVersion("13.8.0.0")] +[assembly: AssemblyFileVersion("13.8.0.0")] diff --git a/src.net/utilities/MpxjUtilities.nca31.csproj b/src.net/utilities/MpxjUtilities.nca31.csproj index c3c6836e5c..9b557cf06a 100644 --- a/src.net/utilities/MpxjUtilities.nca31.csproj +++ b/src.net/utilities/MpxjUtilities.nca31.csproj @@ -6,7 +6,7 @@ netcoreapp3.1 true ..\mpxj.snk - 13.7.0.0 + 13.8.0.0 Copyright © Packwood Software diff --git a/src.python/mpxj/setup.py b/src.python/mpxj/setup.py index 5e1d580974..6181d1b14e 100644 --- a/src.python/mpxj/setup.py +++ b/src.python/mpxj/setup.py @@ -5,7 +5,7 @@ setuptools.setup( name="mpxj", - version="13.7.0", + version="13.8.0", author="Jon Iles", author_email="jon@timephased.com", description="Python wrapper for the MPXJ Java library for manipulating project files", diff --git a/src.ruby/mpxj/lib/mpxj/assignment_methods.rb b/src.ruby/mpxj/lib/mpxj/assignment_methods.rb index 70b2f67f00..f5438afcdd 100644 --- a/src.ruby/mpxj/lib/mpxj/assignment_methods.rb +++ b/src.ruby/mpxj/lib/mpxj/assignment_methods.rb @@ -2881,6 +2881,13 @@ def remaining_work get_duration_value(attribute_values['remaining_work']) end + # Retrieve the Resource Assignment Code Values value + # + # @return Resource Assignment Code Values value + def resource_assignment_code_values + attribute_values['resource_assignment_code_values'] + end + # Retrieve the Resource ID value # # @return Resource ID value @@ -3944,6 +3951,7 @@ def work_variance 'remaining_overtime_cost' => :currency, 'remaining_overtime_work' => :work, 'remaining_work' => :work, + 'resource_assignment_code_values' => :code_values, 'resource_id' => :integer, 'resource_name' => :string, 'resource_request_type' => :resource_request_type, diff --git a/src.ruby/mpxj/lib/mpxj/property_methods.rb b/src.ruby/mpxj/lib/mpxj/property_methods.rb index 7767c5c05b..9018557f9e 100644 --- a/src.ruby/mpxj/lib/mpxj/property_methods.rb +++ b/src.ruby/mpxj/lib/mpxj/property_methods.rb @@ -984,6 +984,13 @@ def preserve_scheduled_early_and_late_dates get_boolean_value(attribute_values['preserve_scheduled_early_and_late_dates']) end + # Retrieve the Project Code Values value + # + # @return Project Code Values value + def project_code_values + attribute_values['project_code_values'] + end + # Retrieve the Project Externally Edited value # # @return Project Externally Edited value @@ -1363,6 +1370,7 @@ def work2 'presentation_format' => :string, 'preserve_minimum_float_when_leveling' => :duration, 'preserve_scheduled_early_and_late_dates' => :boolean, + 'project_code_values' => :code_values, 'project_externally_edited' => :boolean, 'project_file_path' => :string, 'project_id' => :string, diff --git a/src.ruby/mpxj/lib/mpxj/resource_methods.rb b/src.ruby/mpxj/lib/mpxj/resource_methods.rb index f532c3a4dd..ae53296b38 100644 --- a/src.ruby/mpxj/lib/mpxj/resource_methods.rb +++ b/src.ruby/mpxj/lib/mpxj/resource_methods.rb @@ -3420,6 +3420,13 @@ def request_demand attribute_values['request_demand'] end + # Retrieve the Resource Code Values value + # + # @return Resource Code Values value + def resource_code_values + attribute_values['resource_code_values'] + end + # Retrieve the Resource ID value # # @return Resource ID value @@ -3441,6 +3448,13 @@ def role get_boolean_value(attribute_values['role']) end + # Retrieve the Role Code Values value + # + # @return Role Code Values value + def role_code_values + attribute_values['role_code_values'] + end + # Retrieve the Sequence Number value # # @return Sequence Number value @@ -4392,9 +4406,11 @@ def work_variance 'remaining_overtime_work' => :work, 'remaining_work' => :work, 'request_demand' => :string, + 'resource_code_values' => :code_values, 'resource_id' => :string, 'response_pending' => :boolean, 'role' => :boolean, + 'role_code_values' => :code_values, 'sequence_number' => :integer, 'shift_unique_id' => :integer, 'standard_rate' => :rate, diff --git a/src.ruby/mpxj/lib/mpxj/version.rb b/src.ruby/mpxj/lib/mpxj/version.rb index 2251d5b943..f88abc75f9 100644 --- a/src.ruby/mpxj/lib/mpxj/version.rb +++ b/src.ruby/mpxj/lib/mpxj/version.rb @@ -1,5 +1,5 @@ # MPXJ gem module module MPXJ # MPXJ gem version number - VERSION = "13.7.0" + VERSION = "13.8.0" end diff --git a/src/changes/changes.xml b/src/changes/changes.xml index 75a0dcf619..af4d43878e 100644 --- a/src/changes/changes.xml +++ b/src/changes/changes.xml @@ -5,7 +5,9 @@ Jon Iles - + + + Added support for reading and writing Project Codes, Resource Codes, Role Codes and Resource Assignment Codes for Primavera P6 schedules. When writing PMXML files, improve handling of P6 schedules where activity code sequence numbers are missing. Added an *experimental* feature to `MSPDIWriter` to allow the writer to generate timephased data when none is present. Disabled by default, call the `setGenerateMissingTimephasedData` and pass `true` to enable. diff --git a/src/main/java/net/sf/mpxj/MPXJ.java b/src/main/java/net/sf/mpxj/MPXJ.java index 4bed3e1868..05b5781790 100644 --- a/src/main/java/net/sf/mpxj/MPXJ.java +++ b/src/main/java/net/sf/mpxj/MPXJ.java @@ -28,5 +28,5 @@ */ public final class MPXJ { - public static final String VERSION = "13.7.0"; + public static final String VERSION = "13.8.0"; }