Major project reorganization: Centralized version management and improved structure

- Reorganized project structure with proper directory separation:
  * All scripts moved to scripts/ directory (including examples)
  * All documentation moved to docs/ directory (except README.md)
  * Centralized version management in Version.ps1

- Implemented centralized version management system:
  * Version.ps1 provides single source of truth for version information
  * Automatic yyyy.MM.dd.HHmm versioning based on build time
  * scripts/Update-Version.ps1 updates all version references
  * src/Properties/AssemblyInfo.cs for assembly version information

- Enhanced build system:
  * scripts/Build.ps1 - Full build with validation and packaging
  * scripts/Quick-Build.ps1 - Fast build handling file locking issues
  * Removed automatic copy from project file to avoid locking
  * Integrated version updates into build process

- Updated PowerShell Gallery publishing:
  * scripts/Publish-PSMinIOToGallery.ps1 updated for new structure
  * docs/POWERSHELL-GALLERY-RELEASE.md comprehensive publishing guide
  * Module manifest updated with proper metadata and release notes

- Updated all documentation and examples:
  * README.md updated with PowerShell Gallery installation
  * All example scripts updated with correct import paths
  * scripts/examples/README.md updated for new location
  * docs/PROJECT-STRUCTURE.md documents new organization

- Version updated to 2025.07.11.1151 with centralized management
- All import paths corrected for new structure
- Professional project organization following PowerShell best practices
This commit is contained in:
PSMinIO Developer
2025-07-11 11:53:08 -04:00
parent 677fa8c172
commit 90c64d3237
24 changed files with 1704 additions and 64 deletions
+42 -9
View File
@@ -3,7 +3,7 @@
RootModule = 'bin\PSMinIO.dll'
# Version number of this module.
ModuleVersion = '2025.07.10.1200'
ModuleVersion = '2025.07.11.1151'
# Supported PSEditions
CompatiblePSEditions = @('Desktop', 'Core')
@@ -12,16 +12,16 @@
GUID = 'a1b2c3d4-e5f6-7890-abcd-ef1234567890'
# Author of this module
Author = 'PSMinIO Team'
Author = 'Grace Solutions'
# Company or vendor of this module
CompanyName = 'PSMinIO'
CompanyName = 'Grace Solutions'
# Copyright statement for this module
Copyright = '(c) 2025 PSMinIO Team. All rights reserved.'
Copyright = '(c) 2025 Grace Solutions. All rights reserved.'
# Description of the functionality provided by this module
Description = 'A PowerShell module for MinIO object storage operations built on the Minio .NET SDK'
Description = 'A comprehensive PowerShell module for MinIO object storage operations with enterprise-grade features including chunked transfers, advanced object listing, directory management, and performance monitoring. Built on the official Minio .NET SDK.'
# Minimum version of the PowerShell engine required by this module
PowerShellVersion = '5.1'
@@ -106,19 +106,47 @@
PrivateData = @{
PSData = @{
# Tags applied to this module. These help with module discovery in online galleries.
Tags = @('MinIO', 'ObjectStorage', 'S3', 'Cloud', 'Storage', 'Bucket', 'Object')
Tags = @('MinIO', 'ObjectStorage', 'S3', 'Cloud', 'Storage', 'Bucket', 'Object', 'Enterprise', 'Chunked', 'Performance', 'Monitoring', 'Automation', 'Backup', 'AWS', 'Compatible')
# A URL to the license for this module.
LicenseUri = 'https://github.com/PSMinIO/PSMinIO/blob/main/LICENSE'
LicenseUri = 'https://github.com/Grace-Solutions/PSMinIO/blob/main/LICENSE'
# A URL to the main website for this project.
ProjectUri = 'https://github.com/PSMinIO/PSMinIO'
ProjectUri = 'https://github.com/Grace-Solutions/PSMinIO'
# A URL to an icon representing this module.
# IconUri = ''
# ReleaseNotes of this module
ReleaseNotes = 'Initial release of PSMinIO module with comprehensive MinIO object storage operations support.'
ReleaseNotes = @'
## Version 2025.07.11.1151 - Enhanced Release
### Major Features
- Complete Get-MinIOObject cmdlet with advanced filtering, sorting, and pagination
- Enhanced directory management with automatic nested structure creation
- Advanced chunked operations with configurable chunk sizes and multi-layer progress tracking
- Comprehensive timing and performance metrics for all operations
- Enterprise-grade automation examples and monitoring capabilities
### Issues Fixed
- Fixed directory creation warnings (now clean verbose logging)
- Implemented missing Get-MinIOObject cmdlet with full functionality
- Resolved threading and progress reporting issues
### Documentation and Examples
- Updated README.md and comprehensive USAGE.md documentation
- Created comprehensive example scripts in scripts/examples/ directory
- Added enterprise automation patterns and best practices
- Professional logging with no Write-Host usage
### Technical Improvements
- Thread-safe operations for chunked transfers
- Enhanced error handling and resource management
- Performance optimization with intelligent defaults
- Centralized version management system
This release provides enterprise-grade functionality with professional documentation and comprehensive examples.
'@
# Prerelease string of this module
# Prerelease = ''
@@ -137,3 +165,8 @@
# Default prefix for commands exported from this module. Override the default prefix using Import-Module -Prefix.
# DefaultCommandPrefix = ''
}
Binary file not shown.
+41 -9
View File
@@ -3,7 +3,7 @@
RootModule = 'bin\PSMinIO.dll'
# Version number of this module.
ModuleVersion = '2025.07.10.1200'
ModuleVersion = '2025.07.11.1151'
# Supported PSEditions
CompatiblePSEditions = @('Desktop', 'Core')
@@ -12,16 +12,16 @@
GUID = 'a1b2c3d4-e5f6-7890-abcd-ef1234567890'
# Author of this module
Author = 'PSMinIO Team'
Author = 'Grace Solutions'
# Company or vendor of this module
CompanyName = 'PSMinIO'
CompanyName = 'Grace Solutions'
# Copyright statement for this module
Copyright = '(c) 2025 PSMinIO Team. All rights reserved.'
Copyright = '(c) 2025 Grace Solutions. All rights reserved.'
# Description of the functionality provided by this module
Description = 'A PowerShell module for MinIO object storage operations built on the Minio .NET SDK'
Description = 'A comprehensive PowerShell module for MinIO object storage operations with enterprise-grade features including chunked transfers, advanced object listing, directory management, and performance monitoring. Built on the official Minio .NET SDK.'
# Minimum version of the PowerShell engine required by this module
PowerShellVersion = '5.1'
@@ -106,19 +106,47 @@
PrivateData = @{
PSData = @{
# Tags applied to this module. These help with module discovery in online galleries.
Tags = @('MinIO', 'ObjectStorage', 'S3', 'Cloud', 'Storage', 'Bucket', 'Object')
Tags = @('MinIO', 'ObjectStorage', 'S3', 'Cloud', 'Storage', 'Bucket', 'Object', 'Enterprise', 'Chunked', 'Performance', 'Monitoring', 'Automation', 'Backup', 'AWS', 'Compatible')
# A URL to the license for this module.
LicenseUri = 'https://github.com/PSMinIO/PSMinIO/blob/main/LICENSE'
LicenseUri = 'https://github.com/Grace-Solutions/PSMinIO/blob/main/LICENSE'
# A URL to the main website for this project.
ProjectUri = 'https://github.com/PSMinIO/PSMinIO'
ProjectUri = 'https://github.com/Grace-Solutions/PSMinIO'
# A URL to an icon representing this module.
# IconUri = ''
# ReleaseNotes of this module
ReleaseNotes = 'Initial release of PSMinIO module with comprehensive MinIO object storage operations support.'
ReleaseNotes = @'
## Version 2025.07.11.1151 - Enhanced Release
### Major Features
- Complete Get-MinIOObject cmdlet with advanced filtering, sorting, and pagination
- Enhanced directory management with automatic nested structure creation
- Advanced chunked operations with configurable chunk sizes and multi-layer progress tracking
- Comprehensive timing and performance metrics for all operations
- Enterprise-grade automation examples and monitoring capabilities
### Issues Fixed
- Fixed directory creation warnings (now clean verbose logging)
- Implemented missing Get-MinIOObject cmdlet with full functionality
- Resolved threading and progress reporting issues
### Documentation and Examples
- Updated README.md and comprehensive USAGE.md documentation
- Created comprehensive example scripts in scripts/examples/ directory
- Added enterprise automation patterns and best practices
- Professional logging with no Write-Host usage
### Technical Improvements
- Thread-safe operations for chunked transfers
- Enhanced error handling and resource management
- Performance optimization with intelligent defaults
- Centralized version management system
This release provides enterprise-grade functionality with professional documentation and comprehensive examples.
'@
# Prerelease string of this module
# Prerelease = ''
@@ -137,3 +165,7 @@
# Default prefix for commands exported from this module. Override the default prefix using Import-Module -Prefix.
# DefaultCommandPrefix = ''
}