lacostej commented on Bug JENKINS-20997

Timothy, maybe you haven't configured the build in your editor project properly.

Jenkins just script what you do in your editor script.

In my case, I always validate what my editor script does by adding Menu options.

For example my editor script contains

[MenuItem ("Custom/CI/Build iOS")]
	static void PerformIOSBuild ()
	{   
		 Debug.Log("Calling custom build script for iOS");
		 string target_dir = APP_NAME + "_ios";
		 GenericBuild(SCENES, TARGET_DIR + "/" + target_dir, BuildTarget.iPhone, BuildOptions.None, true);
		 ZipWithoutData(target_dir, target_dir);
	}

	private static BuildOptions OverrideBuildOptionsWithUserSettings(BuildOptions _DefaultBuildOptions, bool _FirstRun) {
		BuildOptions buildOptions = _DefaultBuildOptions;
		// to preserve manual XCode project changes
		// only create this if the build was run once before
		// http://answers.unity3d.com/questions/236443/buildpipelinebuildplayer-misnames-pbxuser-file.html
		if(!_FirstRun) {
			buildOptions |= BuildOptions.AcceptExternalModificationsToPlayer;
		}
		if (EditorUserBuildSettings.webPlayerStreamed) {
			buildOptions |= BuildOptions.BuildAdditionalStreamedScenes;
		}
		if (EditorUserBuildSettings.webPlayerOfflineDeployment) {
			buildOptions |= BuildOptions.WebPlayerOfflineDeployment;
		}
		if (EditorUserBuildSettings.development)
		{
			buildOptions |= BuildOptions.Development;
		}
		if (EditorUserBuildSettings.connectProfiler)
		{
			buildOptions |= BuildOptions.ConnectWithProfiler;
		}
		if (EditorUserBuildSettings.allowDebugging)
		{
			buildOptions |= BuildOptions.AllowDebugging;
		}
		if (EditorUserBuildSettings.appendProject)
		{
			buildOptions |= BuildOptions.AcceptExternalModificationsToPlayer;
		}
		if (EditorUserBuildSettings.installInBuildFolder) {
			buildOptions |= BuildOptions.InstallInBuildFolder;
		}
#if UNITY_3_5
		buildOptions |= EditorUserBuildSettings.architectureFlags;
#endif
		return buildOptions;
	}

	static void GenericBuild(string[] scenes, string target_dir, BuildTarget build_target, BuildOptions build_options, bool override_options)
	{
		FileSystemUtil.EnsureParentExists(target_dir);
		if (EditorUserBuildSettings.activeBuildTarget != build_target) {
			EditorUserBuildSettings.SwitchActiveBuildTarget(build_target);
		}
		if (override_options) {
			bool FirstRun = !Directory.Exists(target_dir);
			build_options = OverrideBuildOptionsWithUserSettings(build_options, FirstRun);
		}
		Debug.Log("==> BuildOptions: " + build_options);
		string dir = System.IO.Path.GetDirectoryName(target_dir);
		PreProcess(dir);
		string res = BuildPipeline.BuildPlayer(scenes,target_dir,build_target,build_options);
		if (res.Length > 0) {
			throw new Exception("BuildPlayer failure: " + res);
		}
		PostProcess(dir);
	}

See https://github.com/jenkinsci/unity3d-plugin/commit/d792376afd67579f313043e7c701cf2559df02bd#diff-c5173bf2106c8aaf9f3885b16ec48b4bR174 for a full example.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators.
For more information on JIRA, see: http://www.atlassian.com/software/jira

--
You received this message because you are subscribed to the Google Groups "Jenkins Issues" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to