test-adv-jboss8/checkout-projects.ps1
2025-03-20 07:12:33 +01:00

125 lines
4.9 KiB
PowerShell

# PowerShell script to checkout arm_am-pom and asset-gui projects
# Configuration
$SVN_BASE_URL = "https://svn.armundia.com/svn/PRJarm_am/branches/ISPBEstero/ADV360-BES-JB8_B2024_2"
$SVN_BASE_URL_BW2_LIB = "https://svn.armundia.com/svn/PRJbw2/branches/LIB-JK10"
$SVN_BASE_URL_ARM_LIB = "https://svn.armundia.com/svn/PRJarm_am/branches/LIB-JK10"
$WORKSPACE_DIR = "C:\Dev2012\source\WindSurf\adv8"
# Project paths
$PROJECTS = @{
"arm_am-pom" = "$SVN_BASE_URL/arm_am-pom"
"asset-gui" = "$SVN_BASE_URL/asset-gui"
"AmazonAWS.S3" = "$SVN_BASE_URL_BW2_LIB/AmazonAWS.S3"
"arm-core-batch" = "$SVN_BASE_URL_ARM_LIB/arm-batch-module"
"arm-core-document" = "$SVN_BASE_URL_BW2_LIB/arm-core-document-ispb"
"arm-core-event" = "$SVN_BASE_URL_BW2_LIB/arm-core-event"
"arm-core-perfo" = "$SVN_BASE_URL_ARM_LIB/arm-perfo-ispb"
"arm-core-print" = "$SVN_BASE_URL/arm-core-print/arm-core-print"
"arm-core-querybuilder" = "$SVN_BASE_URL_ARM_LIB/arm-core-querybuilder"
"arm-core-quest" = "$SVN_BASE_URL/arm-core-quest"
"arm-core-users" = "$SVN_BASE_URL_ARM_LIB/arm-core-users"
"arm-core-utility" = "$SVN_BASE_URL_ARM_LIB/arm-core-utility"
"arm-core-utility-extra" = "$SVN_BASE_URL_ARM_LIB/arm-core-utility-extra"
"arm-core-var" = "$SVN_BASE_URL_ARM_LIB/arm-calcolo-VaR"
"arm-fileExporter" = "$SVN_BASE_URL_ARM_LIB/arm-fileExporter"
"arm-limiti" = "$SVN_BASE_URL_ARM_LIB/arm-limiti"
"arm-quadratore-portafogli" = "$SVN_BASE_URL_ARM_LIB/arm-quadratore-portafogli"
"arm-util" = "$SVN_BASE_URL_ARM_LIB/arm-util"
"aspose-manager" = "$SVN_BASE_URL/arm-core-print/aspose-manager"
"data-quality" = "$SVN_BASE_URL_ARM_LIB/data-quality-default"
"shared-javaEE" = "$SVN_BASE_URL_ARM_LIB/Shared-JavaEE"
}
# Create workspace directory if it doesn't exist
if (-not (Test-Path $WORKSPACE_DIR)) {
New-Item -ItemType Directory -Path $WORKSPACE_DIR -Force
}
# Function to checkout or update a project
function Checkout-Project {
param (
[string]$projectName,
[string]$svnUrl,
[string]$targetDir
)
$projectPath = Join-Path $targetDir $projectName
if (Test-Path $projectPath) {
Write-Host "Updating $projectName..." -ForegroundColor Yellow
Set-Location $projectPath
svn update
} else {
Write-Host "Checking out $projectName..." -ForegroundColor Yellow
Set-Location $targetDir
svn checkout $svnUrl $projectName
}
if ($LASTEXITCODE -eq 0) {
Write-Host "$projectName successfully checked out/updated" -ForegroundColor Green
} else {
Write-Host "Error checking out/updating $projectName" -ForegroundColor Red
}
}
# Store the original directory
$originalDirectory = Get-Location
try {
# Checkout/update each project
foreach ($project in $PROJECTS.GetEnumerator()) {
Checkout-Project -projectName $project.Key -svnUrl $project.Value -targetDir $WORKSPACE_DIR
}
# Array of projects to build in order
$BUILD_ORDER = @(
# Base libraries
# "shared-javaEE", # Base Java EE utilities
# "arm-core-utility", # core utilities
# "arm-core-utility-extra", # additional utilities
# "arm-util", # general utilities
# # Core functionality
# "arm-core-document", # Document handling
# "arm-core-event", # Event system
# "arm-core-users", # User management
# "arm-core-querybuilder", # Query building
# "arm-core-print", # Printing system
# # Business modules
"arm-core-quest"#, # Questionnaires
# "arm-core-batch", # Batch processing
# "arm-core-perfo", # Performance
# "arm-core-var", # Risk calculation
# "arm-fileExporter", # File export
# "arm-limiti", # Limits management
# "arm-quadratore-portafogli", # Portfolio management
# # Additional components
# "data-quality", # Data quality
# "AmazonAWS.S3", # AWS S3 integration
# "aspose-manager" # Document processing
)
# Build each project in order
foreach ($project in $BUILD_ORDER) {
Write-Host "Building $project..." -ForegroundColor Yellow
Set-Location (Join-Path $WORKSPACE_DIR $project)
mvn clean install -DskipTests
if ($LASTEXITCODE -eq 0) {
Write-Host "$project successfully built and installed" -ForegroundColor Green
} else {
Write-Host "Error building $project" -ForegroundColor Red
exit 1
}
}
} catch {
Write-Host "An error occurred: $_" -ForegroundColor Red
} finally {
# Restore original directory
Set-Location $originalDirectory
}