Changing pipeline and changin make package for town06 and town07
This commit is contained in:
parent
7ba7587c78
commit
621120ad80
|
@ -52,13 +52,11 @@ pipeline {
|
|||
stage('Package') {
|
||||
steps {
|
||||
sh 'make package'
|
||||
sh 'make export-maps ARGS="--map=/Game/Carla/Maps/Town06 --file=Town06"'
|
||||
sh 'make export-maps ARGS="--map=/Game/Carla/Maps/Town07 --file=Town07"'
|
||||
sh 'make package ARGS="--packages=Town06,Town07 --clean-intermediate"'
|
||||
}
|
||||
post {
|
||||
always {
|
||||
archiveArtifacts 'Dist/*.tar.gz'
|
||||
archiveArtifacts 'ExportedMaps/*.tar.gz'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -205,11 +205,25 @@ bool UPrepareAssetsForCookingCommandlet::SaveWorld(
|
|||
return bPackageSaved;
|
||||
}
|
||||
|
||||
FString UPrepareAssetsForCookingCommandlet::GetFirstPackagePath(const FString &PackageName) const
|
||||
{
|
||||
// Get all Package names
|
||||
TArray<FString> PackageList;
|
||||
IFileManager::Get().FindFilesRecursive(PackageList, *(FPaths::ProjectContentDir()),
|
||||
*(PackageName + TEXT(".Package.json")), true, false, false);
|
||||
|
||||
if (PackageList.Num() == 0)
|
||||
{
|
||||
UE_LOG(LogTemp, Error, TEXT("Package json file not found."));
|
||||
return {};
|
||||
}
|
||||
|
||||
return IFileManager::Get().ConvertToAbsolutePathForExternalAppForRead(*PackageList[0]);
|
||||
}
|
||||
|
||||
FAssetsPaths UPrepareAssetsForCookingCommandlet::GetAssetsPathFromPackage(const FString &PackageName) const
|
||||
{
|
||||
|
||||
FString PackageConfigPath = FPaths::ProjectContentDir() + PackageName + TEXT("/Config/");
|
||||
FString PackageJsonFilePath = PackageConfigPath + PackageName + TEXT(".Package.json");
|
||||
FString PackageJsonFilePath = GetFirstPackagePath(PackageName);
|
||||
|
||||
FAssetsPaths AssetsPaths;
|
||||
|
||||
|
@ -282,6 +296,11 @@ bool UPrepareAssetsForCookingCommandlet::SavePackage(const FString &PackagePath,
|
|||
FString PackageFileName = FPackageName::LongPackageNameToFilename(PackagePath,
|
||||
FPackageName::GetMapPackageExtension());
|
||||
|
||||
if (FPaths::FileExists(*PackageFileName))
|
||||
{
|
||||
// Will not save package if it already exists
|
||||
return false;
|
||||
}
|
||||
return UPackage::SavePackage(Package, World, EObjectFlags::RF_Public | EObjectFlags::RF_Standalone,
|
||||
*PackageFileName, GError, nullptr, true, true, SAVE_NoError);
|
||||
}
|
||||
|
@ -335,11 +354,21 @@ int32 UPrepareAssetsForCookingCommandlet::Main(const FString &Params)
|
|||
DestroySpawnedActorsInWorld(SpawnedActors);
|
||||
MapObjectLibrary->ClearLoaded();
|
||||
}
|
||||
|
||||
else
|
||||
{
|
||||
if (MapPathData.Len() >= 0)
|
||||
{
|
||||
MapPathData.RemoveFromEnd(TEXT("+"));
|
||||
}
|
||||
}
|
||||
// Save Map Path File for further use
|
||||
FString SaveDirectory = FPaths::ProjectContentDir() + PackageName + TEXT("/Config");
|
||||
FString SaveDirectory = FPaths::ProjectContentDir();
|
||||
FString FileName = FString("MapPaths.txt");
|
||||
SaveStringTextToFile(SaveDirectory, FileName, MapPathData, true);
|
||||
|
||||
FileName = FString("PackagePath.txt");
|
||||
FString PackageJsonFilePath = GetFirstPackagePath(PackageName);
|
||||
SaveStringTextToFile(SaveDirectory, FileName, PackageJsonFilePath, true);
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -131,4 +131,8 @@ private:
|
|||
/// Content folder
|
||||
bool SavePackage(const FString &PackagePath, UPackage *Package) const;
|
||||
|
||||
/// Gets the first .Package.json file found in Unreal Content Directory with
|
||||
/// @a PackageName
|
||||
FString GetFirstPackagePath(const FString &PackageName) const;
|
||||
|
||||
};
|
||||
|
|
|
@ -186,15 +186,15 @@ for PACKAGE_NAME in "${PACKAGES[@]}" ; do if [[ ${PACKAGE_NAME} != "Carla" ]] ;
|
|||
|
||||
BUILD_FOLDER=${CARLA_DIST_FOLDER}/${PACKAGE_NAME}_${REPOSITORY_TAG}
|
||||
DESTINATION=${BUILD_FOLDER}.tar.gz
|
||||
PACKAGE_PATH=${CARLAUE4_ROOT_FOLDER}/Content/${PACKAGE_NAME}
|
||||
# PACKAGE_PATH=${CARLAUE4_ROOT_FOLDER}/Content/${PACKAGE_NAME}
|
||||
|
||||
if [ ! -d "${PACKAGE_PATH}" ] ; then
|
||||
# if [ ! -d "${PACKAGE_PATH}" ] ; then
|
||||
|
||||
ERROR_MSG="Package \"${PACKAGE_NAME}\" not found! Make sure you have "
|
||||
ERROR_MSG+="imported the package already and the package name is correct."
|
||||
fatal_error "${ERROR_MSG}"
|
||||
# ERROR_MSG="Package \"${PACKAGE_NAME}\" not found! Make sure you have "
|
||||
# ERROR_MSG+="imported the package already and the package name is correct."
|
||||
# fatal_error "${ERROR_MSG}"
|
||||
|
||||
fi
|
||||
# fi
|
||||
|
||||
mkdir -p ${BUILD_FOLDER}
|
||||
|
||||
|
@ -206,8 +206,10 @@ for PACKAGE_NAME in "${PACKAGES[@]}" ; do if [[ ${PACKAGE_NAME} != "Carla" ]] ;
|
|||
${UE4_ROOT}/Engine/Binaries/Linux/UE4Editor "${CARLAUE4_ROOT_FOLDER}/CarlaUE4.uproject" \
|
||||
-run=PrepareAssetsForCooking -PackageName=${PACKAGE_NAME}
|
||||
|
||||
PACKAGE_FILE=${PACKAGE_PATH}/Config/${PACKAGE_NAME}.Package.json
|
||||
MAP_LIST_FILE=${PACKAGE_PATH}/Config/MapPaths.txt
|
||||
PACKAGE_PATH_FILE=${CARLAUE4_ROOT_FOLDER}/Content/PackagePath.txt
|
||||
MAP_LIST_FILE=${CARLAUE4_ROOT_FOLDER}/Content/MapPaths.txt
|
||||
|
||||
PACKAGE_FILE=$(<${PACKAGE_PATH_FILE})
|
||||
MAPS_TO_COOK=$(<${MAP_LIST_FILE})
|
||||
|
||||
# Cook maps
|
||||
|
|
Loading…
Reference in New Issue