Here is a nice little PowerShell script I have created for copying my FGF libraries to the projects that use them. I also hot-keyed the PowerShell window which makes distributing new FGF builds really easy.
function fgfDist
{
# An array of platforms that need to be copied
$platforms = "x86","Xbox 360","Zune"
if($args.count -ne 0){
$platforms = $args
}
# An array of destinations for copying
$destinations = "M:\Code\Games\Galactic Defense\trunk\Libraries\",
"M:\Code\AIR\trunk\Libraries\"
$source = "M:\Code\FGF\trunk\Bin\"
$sourceSuffix = "\Debug"
# Loop through all the destinations and all the platforms
# For each platform, copy some files.
foreach($destination in $destinations)
{
write-host "Starting copy to"$destination
foreach($platform in $platforms)
{
$tempSource = $source + $platform + $sourceSuffix
$tempDestination = $destination + $platform
# Test if the folder exists
if( Test-Path $tempSource ){
if( !(Test-Path $tempDestination) ){
write-host "Creating directory."
new-item -path $destination -name $platform -type directory
}
}
else{
write-host "Could not find the source files for"$platform
continue
}
# Get a list of DLL files that contains thrust as well as the FocusedGames.dll file.
$thrustLibs = get-childItem $tempSource -force | ? {$_.extension -eq ".dll"}|where {$_.name -match "Thrust"}
$coreLibs = get-childItem $tempSource -force | ? {$_.extension -eq ".dll"}|where {$_.name -match "FocusedGames\.dll"}
if($thrustLibs){
foreach($dll in $thrustLibs){
if( $dll -ne ""){
copy-item $tempSource\$dll $tempDestination
write-host " Copied"$platform\$dll
}
}
}
if($coreLibs){
foreach($dll in $coreLibs){
if( $dll -ne ""){
copy-item $tempSource\$dll $tempDestination
write-host " Copied"$platform\$dll
}
}
}
}
}
}