* AssetBuilder sends builder registration network message to AP
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Add AP activating status message
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* First builder handles registration.
Fixed deadlock caused by AP and AssetBuilder waiting on each other when registering by moving AP builder start code to a thread
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Clean up external builder registration
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Add thread description for builder manager idle thread
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Remove gem loading
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Clean up builder registration and remove unused functions
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Remove PostActivate call from batch application since it will be called after builders are registered
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Removal external builder dependency scanning since we no longer support builder dlls
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Fix missing bus disconnect
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Remove unused variable
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Moved AP-AssetBuilder specific types into AssetBuilder.Static library. Also removed some unused/old code
Signed-off-by: amzn-mike <80125227+amzn-mike@users.noreply.github.com>
* Fix: Lua directory empty and always loading in editor
Signed-off-by: T.J. McGrath-Daly <tj.mcgrath.daly@huawei.com>
* fixed naming convention errors
Signed-off-by: T.J. McGrath-Daly <tj.mcgrath.daly@huawei.com>
* Tidy up
Signed-off-by: T.J. McGrath-Daly <tj.mcgrath.daly@huawei.com>
Co-authored-by: Tobias Alexander Franke <tobias.alexander.franke@huawei.com>
* bugfix: resolve Lua script file not found
REF: https://github.com/o3de/o3de/issues/5899
Signed-off-by: Michael Pollind <mpollind@gmail.com>
* chore: user lowcase version of assetIdLower
Signed-off-by: Michael Pollind <mpollind@gmail.com>
* Average incoming skin influences when multiple vertices have been welded. This is one option which will average out the weights even if two welded vertices have differing boneIds, but we probably also need to add the influences earlier in the process and enforce a process where the vertices do not get welded if they have influences with differing boneIds
Signed-off-by: Tommy Walton <waltont@amazon.com>
* Move skin influences from MeshBuilderSkinningInfo to the vertex attribute layers so they are considered when choosing which vertices can be welded and so they are not duplicated when compatible vertices have been welded
Signed-off-by: Tommy Walton <waltont@amazon.com>
* Updating unit tests
Signed-off-by: Tommy Walton <waltont@amazon.com>
* Remove unused functions
Signed-off-by: Tommy Walton <waltont@amazon.com>
* Update based on feedback from burelc
Signed-off-by: Tommy Walton <waltont@amazon.com>
* Enable process and ap connection tests on linux
* Updated 'OpenProjectManager' to use new the ProcessLauncher argument type
* Add logic to double-escape escaped double quotes in arguments on windows platforms
* Updated argument for LaunchProjectManager to reflect new ProcessLauncher argument type
* Fixed unit test arguments for 'arg=value' condition
* Fix compile errors for BuilderManager and RHI.Edit\Utils.cpp
* PAL'ify the GetCommandLineParametersAsString() to handle windows specific behavior
Signed-off-by: Steve Pham <82231385+spham-amzn@users.noreply.github.com>
Co-authored-by: byrcolin <byrcolin@amazon.com>
* Pass relative path IsFileExcluded so that only paths relative to the root scan folder are matched against the exclude filters.
Signed-off-by: amzn-sj <srikkant@amazon.com>
* Revert previous change. Remove the exclude filter for the Install directory.
Signed-off-by: amzn-sj <srikkant@amazon.com>
* Pass in relative path to the exclude filter as before. Fix the AssetScanner tests.
Signed-off-by: amzn-sj <srikkant@amazon.com>
* Prepend a ./ to the relative path in order to match the exclude patterns
Signed-off-by: amzn-sj <srikkant@amazon.com>
* Remove hack to prepend ./. Update the exclude patterns so that the hack is no longer required.
Signed-off-by: amzn-sj <srikkant@amazon.com>
* Add missing ? and remove whitespace
Signed-off-by: amzn-sj <srikkant@amazon.com>
* 1. IsFileExcluded() now converts the input path to a path that's relative to its corresponding scan folder.
2. Update regex patterns in gems and AutomatedTesting as well.
3. Remove unnecessary escaping for '/'.
Signed-off-by: amzn-sj <srikkant@amazon.com>
* Use ConvertToRelativePath() function to compute path relative to a scan folder.
Signed-off-by: amzn-sj <srikkant@amazon.com>
* More fixes to regex patterns
Signed-off-by: amzn-sj <srikkant@amazon.com>
* Remove test case which tests a hypothetical scenario that cannot occur. Fix another test case by adding scan folder.
Signed-off-by: amzn-sj <srikkant@amazon.com>
* Remove assert that's not needed since it's a valid scenario
Signed-off-by: amzn-sj <srikkant@amazon.com>
Co-authored-by: amzn-sj <srikkant@amazon.com>
The "begin and end" markers were removed due to a merge conflict. This restores them.
It also stops printing out sections that are empty - for example, if the AP runs without
processing anything, there will no longer be a "top 10 processed files" section.
Signed-off-by: lawsonamzn <70027408+lawsonamzn@users.noreply.github.com>
* The O3DE.exe Open Editor button now attempts to open the Editor in the
build directory of the project being opened.
If their is no Editor within the build directory of the Project, it uses
the Editor.exe in the current O3DE.exe executable directory if it exists
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Engine .gitignore now ignores the build directory if placed in the
AutomatedTesting project
Previously it was just ignoring a `[Bb]uild` directory if it was
directly within the engine root.
This change matches the behavior of the project templates.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Renamed the ProjectUtils GetEditorDirectory function to
GetEditorExecutablePath
Added a platform specific implementation for retrieving the path to the
Editor executable in the GetEditorExectuablePath function.
It first attempts to locate the Editor via checking the project build
directory for an Editor executable before falling back to checking the
binary directory of the currently running O3DE executable.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Correct the MacOS GetEditorExecutablePath to return the Editor path
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Adds simple stats tracking to AssetProcessor
The system captures cumulative and individual processing times.
It avoids touching any part of the app which affects decision
making or flow, or altering any structures such as JobEntry which
are involved in processing, in order to keep it as simple and
small as possible.
Signed-off-by: lawsonamzn <70027408+lawsonamzn@users.noreply.github.com>
* Renamed ArchiveLocationPriority enum to FileSearchPriority and made it a proper enum class
Added an ArchiveVars.cpp which checks the a new define: `LY_ARCHIVE_FILE_SEARCH_MODE_DEFAULT`
That define represents the default value to use for the Archive system search mode
Moved the FileSearchLocation enum to the ArchiveVars.h header
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Updated the AssetBundleComponent to use AZ::IO::Path for level dirs
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Added a LY_ARCHIVE_FILE_SEARCH_MODE cache variable
The Cache Variable default value is to Archive File Search Mode to PakOnly
in Release. This can be overridden using a value for all configurations
by specifying a number of 0, 1 or 2.
Alternatively a generator expression can be used to set the Archive File
Search Mode in specific configurations.
For example to set the FileSearchMode to 1 in profile and 2 in release
the following LY_ARCHIVE_FILE_SEARCH_MODE value can be used
`$<$<CONFIG:profile>:1>$<$<CONFIG:release>:2>`
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Updated AssetBundler(Batch) VS Debugger arguments to populate the
project-path optoin if a single project is configured.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Add support for serializing older versions of the AssetBundleManifest
This is done by attaching the "ObjectStreamWriteElementOverride"
attribute to the AssetBundleManifest reflection.
That attribute contains a function which outputs an older serialized
version of the AssetBundleManifest based on the `m_bundleVersion` member
value.
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* AZStd::variant Serialization fix
The AttributeData<T> type is no longer suitable for storing the
ObjectStreamWriterOverrideCB function
Signed-off-by: lumberyard-employee-dm <56135373+lumberyard-employee-dm@users.noreply.github.com>
* Follow up fix for ATOM-13512
Update the file mask mapping in ImageBuilder.settings.
Change Reflectance.preset to use BC4 format since it only needs once channel.
Signed-off-by: Qing Tao <55564570+VickyAtAZ@users.noreply.github.com>
The AssetProcessor on Linux uses `inotify` to monitor for file updates.
The AssetProcessor also uses a `ProcessWatcher` to launch child
AssetBuilder processes. `ProcessWatcher` accomplishes this by calling
`fork()`, which duplicates the current process, then calling `exec()`.
The `fork()` call also appears to duplicate any inotify fds. This
results in the subprocess consuming duplicate inotify watches, which is
a limited system resource (Ubunut 20 defaults
`/proc/sys/fs/inotify/max_user_watches` to 65536). The AssetProcessor
still has issues with this max, but this should free up at least half of
the uses.
Signed-off-by: Chris Burel <burelc@amazon.com>