Skip to content

Commit 621120a

Browse files
manishthaninsubiron
authored andcommitted
Changing pipeline and changin make package for town06 and town07
1 parent 7ba7587 commit 621120a

File tree

4 files changed

+49
-16
lines changed

4 files changed

+49
-16
lines changed

Jenkinsfile

+1-3
Original file line numberDiff line numberDiff line change
@@ -52,13 +52,11 @@ pipeline {
5252
stage('Package') {
5353
steps {
5454
sh 'make package'
55-
sh 'make export-maps ARGS="--map=/Game/Carla/Maps/Town06 --file=Town06"'
56-
sh 'make export-maps ARGS="--map=/Game/Carla/Maps/Town07 --file=Town07"'
55+
sh 'make package ARGS="--packages=Town06,Town07 --clean-intermediate"'
5756
}
5857
post {
5958
always {
6059
archiveArtifacts 'Dist/*.tar.gz'
61-
archiveArtifacts 'ExportedMaps/*.tar.gz'
6260
}
6361
}
6462
}

Unreal/CarlaUE4/Plugins/Carla/Source/Carla/Commandlet/PrepareAssetsForCookingCommandlet.cpp

+34-5
Original file line numberDiff line numberDiff line change
@@ -205,11 +205,25 @@ bool UPrepareAssetsForCookingCommandlet::SaveWorld(
205205
return bPackageSaved;
206206
}
207207

208-
FAssetsPaths UPrepareAssetsForCookingCommandlet::GetAssetsPathFromPackage(const FString &PackageName) const
208+
FString UPrepareAssetsForCookingCommandlet::GetFirstPackagePath(const FString &PackageName) const
209209
{
210+
// Get all Package names
211+
TArray<FString> PackageList;
212+
IFileManager::Get().FindFilesRecursive(PackageList, *(FPaths::ProjectContentDir()),
213+
*(PackageName + TEXT(".Package.json")), true, false, false);
210214

211-
FString PackageConfigPath = FPaths::ProjectContentDir() + PackageName + TEXT("/Config/");
212-
FString PackageJsonFilePath = PackageConfigPath + PackageName + TEXT(".Package.json");
215+
if (PackageList.Num() == 0)
216+
{
217+
UE_LOG(LogTemp, Error, TEXT("Package json file not found."));
218+
return {};
219+
}
220+
221+
return IFileManager::Get().ConvertToAbsolutePathForExternalAppForRead(*PackageList[0]);
222+
}
223+
224+
FAssetsPaths UPrepareAssetsForCookingCommandlet::GetAssetsPathFromPackage(const FString &PackageName) const
225+
{
226+
FString PackageJsonFilePath = GetFirstPackagePath(PackageName);
213227

214228
FAssetsPaths AssetsPaths;
215229

@@ -282,6 +296,11 @@ bool UPrepareAssetsForCookingCommandlet::SavePackage(const FString &PackagePath,
282296
FString PackageFileName = FPackageName::LongPackageNameToFilename(PackagePath,
283297
FPackageName::GetMapPackageExtension());
284298

299+
if (FPaths::FileExists(*PackageFileName))
300+
{
301+
// Will not save package if it already exists
302+
return false;
303+
}
285304
return UPackage::SavePackage(Package, World, EObjectFlags::RF_Public | EObjectFlags::RF_Standalone,
286305
*PackageFileName, GError, nullptr, true, true, SAVE_NoError);
287306
}
@@ -335,11 +354,21 @@ int32 UPrepareAssetsForCookingCommandlet::Main(const FString &Params)
335354
DestroySpawnedActorsInWorld(SpawnedActors);
336355
MapObjectLibrary->ClearLoaded();
337356
}
338-
357+
else
358+
{
359+
if (MapPathData.Len() >= 0)
360+
{
361+
MapPathData.RemoveFromEnd(TEXT("+"));
362+
}
363+
}
339364
// Save Map Path File for further use
340-
FString SaveDirectory = FPaths::ProjectContentDir() + PackageName + TEXT("/Config");
365+
FString SaveDirectory = FPaths::ProjectContentDir();
341366
FString FileName = FString("MapPaths.txt");
342367
SaveStringTextToFile(SaveDirectory, FileName, MapPathData, true);
368+
369+
FileName = FString("PackagePath.txt");
370+
FString PackageJsonFilePath = GetFirstPackagePath(PackageName);
371+
SaveStringTextToFile(SaveDirectory, FileName, PackageJsonFilePath, true);
343372
return 0;
344373
}
345374
#endif

Unreal/CarlaUE4/Plugins/Carla/Source/Carla/Commandlet/PrepareAssetsForCookingCommandlet.h

+4
Original file line numberDiff line numberDiff line change
@@ -131,4 +131,8 @@ class UPrepareAssetsForCookingCommandlet
131131
/// Content folder
132132
bool SavePackage(const FString &PackagePath, UPackage *Package) const;
133133

134+
/// Gets the first .Package.json file found in Unreal Content Directory with
135+
/// @a PackageName
136+
FString GetFirstPackagePath(const FString &PackageName) const;
137+
134138
};

Util/BuildTools/Package.sh

+10-8
Original file line numberDiff line numberDiff line change
@@ -186,15 +186,15 @@ for PACKAGE_NAME in "${PACKAGES[@]}" ; do if [[ ${PACKAGE_NAME} != "Carla" ]] ;
186186

187187
BUILD_FOLDER=${CARLA_DIST_FOLDER}/${PACKAGE_NAME}_${REPOSITORY_TAG}
188188
DESTINATION=${BUILD_FOLDER}.tar.gz
189-
PACKAGE_PATH=${CARLAUE4_ROOT_FOLDER}/Content/${PACKAGE_NAME}
189+
# PACKAGE_PATH=${CARLAUE4_ROOT_FOLDER}/Content/${PACKAGE_NAME}
190190

191-
if [ ! -d "${PACKAGE_PATH}" ] ; then
191+
# if [ ! -d "${PACKAGE_PATH}" ] ; then
192192

193-
ERROR_MSG="Package \"${PACKAGE_NAME}\" not found! Make sure you have "
194-
ERROR_MSG+="imported the package already and the package name is correct."
195-
fatal_error "${ERROR_MSG}"
193+
# ERROR_MSG="Package \"${PACKAGE_NAME}\" not found! Make sure you have "
194+
# ERROR_MSG+="imported the package already and the package name is correct."
195+
# fatal_error "${ERROR_MSG}"
196196

197-
fi
197+
# fi
198198

199199
mkdir -p ${BUILD_FOLDER}
200200

@@ -206,8 +206,10 @@ for PACKAGE_NAME in "${PACKAGES[@]}" ; do if [[ ${PACKAGE_NAME} != "Carla" ]] ;
206206
${UE4_ROOT}/Engine/Binaries/Linux/UE4Editor "${CARLAUE4_ROOT_FOLDER}/CarlaUE4.uproject" \
207207
-run=PrepareAssetsForCooking -PackageName=${PACKAGE_NAME}
208208

209-
PACKAGE_FILE=${PACKAGE_PATH}/Config/${PACKAGE_NAME}.Package.json
210-
MAP_LIST_FILE=${PACKAGE_PATH}/Config/MapPaths.txt
209+
PACKAGE_PATH_FILE=${CARLAUE4_ROOT_FOLDER}/Content/PackagePath.txt
210+
MAP_LIST_FILE=${CARLAUE4_ROOT_FOLDER}/Content/MapPaths.txt
211+
212+
PACKAGE_FILE=$(<${PACKAGE_PATH_FILE})
211213
MAPS_TO_COOK=$(<${MAP_LIST_FILE})
212214

213215
# Cook maps

0 commit comments

Comments
 (0)