Feat: Copy several files to destination directory (optionally)#34
Feat: Copy several files to destination directory (optionally)#34MoxieWhimsy wants to merge 5 commits intoUniToolsTeam:masterfrom
Conversation
Rinal
left a comment
There was a problem hiding this comment.
Thank you for your contribution!
Please, do not remove the previous step Editor/IO/Files/CopyFileToDirectory.cs, as it can break already created pipelines. Create a new step
| { | ||
| [SerializeField] private PathProperty[] m_filePaths = default; | ||
| [System.Obsolete, HideInInspector] | ||
| [SerializeField] private PathProperty m_filePath = default; |
There was a problem hiding this comment.
Agreed. Since we won't be replacing CopyFileToDirectory, we don't need to replicate its properties.
| )] | ||
| public sealed class CopyFilesToDirectory : BuildStep | ||
| { | ||
| [SerializeField] private PathProperty[] m_filePaths = default; |
There was a problem hiding this comment.
We can name it m_sourceDirectory
There was a problem hiding this comment.
OK. I will add a property for source directory. It may simplify using this build step. However I will also rename this to m_sourceFiles for clarity.
| [SerializeField] private PathProperty m_filePath = default; | ||
| [SerializeField] private PathProperty m_destination = default; | ||
|
|
||
| public override async Task Execute() |
There was a problem hiding this comment.
Check is the m_sourceDirectory path is a directory path. If not - throw an exception
There was a problem hiding this comment.
Good idea. I will make sure m_destinationDirectory is a directory path.
|
OK. Looking back at this commit, I overcomplicated adding this BuildStep and that led to other extra lines and methods. It looks like I deliberately gave the new step the same meta file and guid as the previous CopyFileToDirectory because (at least at the time) Unity used the guid to identify ScriptableObject instances. I'm not sure if this step would have been sufficient to prevent old piplelines from breaking. I likely tested it only on my own pipleline. I'll refactor to not remove the existing step. |
This changes the CopyFileToDirectory BuildStep to a CopyFilesToDirectory BuildStep. The OnValidate method is included to copy the
m_filePathproperty from existing CopyFileToDirectory scriptable objects into them_filePathsproperty.