/// <summary>
        /// Default constructor
        /// </summary>
        /// <param name="context">The current cake context.</param>
        /// <param name="projectFolder">The absolute path to the Unity3D project to build.</param>
        /// <param name="options">The build options to use when building the project.</param>
        public Unity3DBuildContext(ICakeContext context, FilePath projectFolder, Unity3DBuildOptions options)
        {
            m_cakeContext   = context;
            m_projectFolder = projectFolder;
            m_buildOptions  = options;

            if (string.IsNullOrEmpty(options.OutputPath))
            {
                throw new Exception("The output path build option must be set.");
            }

            if (options.OutputPath.Contains(" "))
            {
                throw new Exception("The output path can not contain any spaces.");
            }

            if (options.BuildVersion != null && options.BuildVersion.Contains(" "))
            {
                throw new Exception("The build version can not contain any spaces.");
            }

            if (!System.IO.File.Exists(options.UnityEditorLocation))
            {
                throw new Exception($"The Unity Editor location '{options.UnityEditorLocation}' does not exist.");
            }
        }
Exemple #2
0
        public static void BuildUnity3DProject(this ICakeContext context, FilePath projectFolder, Unity3DBuildOptions options)
        {
            var unityBuildContext = new Unity3DBuildContext(context, projectFolder, options);

            unityBuildContext.DumpOptions();
            unityBuildContext.Build();
        }
 public static void BuildUnity3DProject(this ICakeContext context, Unity3DProjectOptions projectOptions, Unity3DBuildOptions options)
 {
     try
     {
         var unityBuildContext = new Unity3DBuildContext(context, projectOptions, options);
         unityBuildContext.DumpOptions();
         unityBuildContext.Build();
     }
     catch (System.Exception ex)
     {
         System.Console.WriteLine(ex.Message);
         System.Console.WriteLine(ex.StackTrace);
     }
 }