'DataPrepOperation.h' file not found despite valid build.cs config

I am trying to build an Editor Plugin on Linux with ue4cli inside a ue4-docker container and hitting a somewhat confusing error.

Notes:

  • Same plugin builds fine on Windows
  • the ue4-full linux docker container being used is valid and has been tested
  • .uplugin and .build.cs files are in the appropriate locations.
  • Using all the correct “DataPrep” related values for .build.cs and for the include (unreal.DataprepOperation — Unreal Python 4.27 (Experimental) documentation)
  • I have truncated all of the relevant files to just the relevant subject.

Unreal Engine Version: 4.25.1

EditorPlugin.build.cs

using UnrealBuildTool;

public class EditorPlugin : ModuleRules
{
	public EditorPlugin(ReadOnlyTargetRules Target) : base(Target)
	{
		PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs;

		PublicDependencyModuleNames.AddRange(
			new string[]
			{
				"Core",
				"DataprepCore",
			}
			);


		PrivateDependencyModuleNames.AddRange(
			new string[]
			{
				"DataprepEditor",
			}
      );


}

EditorPlugin.uplugin (shortened)

...
"Plugins": [
          {
			"Name": "DataPrepEditor",
			"Enabled": true
		}
 ]
 ...

some .cpp file

#include "DataPrepOperation.h"

build error:

'DataPrepOperation.h' file not found
#include "DataPrepOperation.h"
         ^~~~~~~~~~~~~~~~~~~~~

Any ideas?

Try #include “DataprepOperation.h”

Dataprep with a capital P is a vestige of the experimental stage of the plugin. Except for the name of the plugin itself, the name of the files is always Dataprep without the capital P.

Thanks. The problem is the plugin is being built for both 4.24 and 4.25. Are there any unreal directives to handle this situation or do I have to implement a compile time hack to ensure this compiles for both engine versions?