Add "Registry" folders as scan folders (#4583)

* Add "Registry" folders as scan folders

For projects, Gems, and Engine, add the "Registry" folder as scan
folders.

Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>

* Change params for adding scan folder

Also add trailing newlines to setreg files.

Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>

* Adjust the priority order for project templates

Scan folder orders were way too high, they should be very low to become
highest priority order.

Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>

* Removes change of default assets folder to Assets

Need to revert this change so it can be done separately.
Renamed the scan folder to 'Project/Assets' to prep for Assets folder
change later on.

Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>

* Update platform configuration test to pass

Adjusted expectation of scan folder count from 1 to 2 per Gem for
'Assets' and 'Registry' now.

Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>
This commit is contained in:
amzn-phist
2021-10-13 16:46:30 -05:00
committed by GitHub
parent 0217f45f3f
commit 80dcc34e6f
6 changed files with 72 additions and 29 deletions
@@ -590,20 +590,22 @@ TEST_F(PlatformConfigurationUnitTests, Test_GemHandling)
AssetUtilities::ResetAssetRoot();
ASSERT_EQ(2, config.GetScanFolderCount());
ASSERT_EQ(4, config.GetScanFolderCount());
EXPECT_FALSE(config.GetScanFolderAt(0).IsRoot());
EXPECT_TRUE(config.GetScanFolderAt(0).RecurseSubFolders());
// the first one is a game gem, so its order should be above 1 but below 100.
EXPECT_GE(config.GetScanFolderAt(0).GetOrder(), 100);
EXPECT_EQ(0, config.GetScanFolderAt(0).ScanPath().compare(expectedScanFolder, Qt::CaseInsensitive));
// for each gem, there are currently 1 scan folder, the gem assets folder, with no output prefix
// for each gem, there are currently 2 scan folders:
// The Gem's 'Assets' folder
// The Gem's 'Registry' folder
expectedScanFolder = tempPath.absoluteFilePath("Gems/LmbrCentral/v2/Assets");
EXPECT_FALSE(config.GetScanFolderAt(1).IsRoot() );
EXPECT_TRUE(config.GetScanFolderAt(1).RecurseSubFolders());
EXPECT_GT(config.GetScanFolderAt(1).GetOrder(), config.GetScanFolderAt(0).GetOrder());
EXPECT_EQ(0, config.GetScanFolderAt(1).ScanPath().compare(expectedScanFolder, Qt::CaseInsensitive));
EXPECT_FALSE(config.GetScanFolderAt(2).IsRoot() );
EXPECT_TRUE(config.GetScanFolderAt(2).RecurseSubFolders());
EXPECT_GT(config.GetScanFolderAt(2).GetOrder(), config.GetScanFolderAt(0).GetOrder());
EXPECT_EQ(0, config.GetScanFolderAt(2).ScanPath().compare(expectedScanFolder, Qt::CaseInsensitive));
}
TEST_F(PlatformConfigurationUnitTests, Test_MetaFileTypes)
@@ -1582,6 +1582,24 @@ namespace AssetProcessor
gemOrder,
/*scanFolderId*/ 0,
/*canSaveNewAssets*/ true)); // Users can create assets like slices in Gem asset folders.
// Now add another scan folder on Gem/GemName/Registry...
gemFolder = gemDir.absoluteFilePath(AzFramework::GemInfo::GetGemRegistryFolder());
gemFolder = AssetUtilities::NormalizeDirectoryPath(gemFolder);
assetBrowserDisplayName = AzFramework::GemInfo::GetGemRegistryFolder();
portableKey = QString("gemregistry-%1").arg(gemNameAsUuid);
gemOrder++;
AZ_TracePrintf(AssetProcessor::DebugChannel, "Adding GEM registry folder for monitoring / scanning: %s.\n", gemFolder.toUtf8().data());
AddScanFolder(ScanFolderInfo(
gemFolder,
assetBrowserDisplayName,
portableKey,
isRoot,
isRecursive,
platforms,
gemOrder));
}
}
}