Esempio n. 1
0
        public override SolutionItemConfiguration CreateConfiguration(string name)
        {
            var conf = new MonoMacProjectConfiguration(name);

            conf.CopyFrom(base.CreateConfiguration(name));
            return(conf);
        }
        BuildResult MergeInfoPlist(IProgressMonitor monitor, MonoMacProject proj, MonoMacProjectConfiguration conf,
                                   ProjectFile template, FilePath plistOut)
        {
            return(MacBuildUtilities.CreateMergedPlist(monitor, template, plistOut, (PlistDocument doc) => {
                var result = new BuildResult();
                var dict = doc.Root as PlistDictionary;
                if (dict == null)
                {
                    doc.Root = dict = new PlistDictionary();
                }

                //required keys that the user is likely to want to modify
                SetIfNotPresent(dict, "CFBundleName", proj.Name);
                SetIfNotPresent(dict, "CFBundleIdentifier", "com.yourcompany." + proj.Name);
                SetIfNotPresent(dict, "CFBundleShortVersionString", proj.Version);
                SetIfNotPresent(dict, "CFBundleVersion", "1");
                SetIfNotPresent(dict, "LSMinimumSystemVersion", "10.6");
                SetIfNotPresent(dict, "CFBundleDevelopmentRegion", "English");

                //required keys that the user probably should not modify
                dict["CFBundleExecutable"] = conf.LaunchScript.FileName;
                SetIfNotPresent(dict, "CFBundleInfoDictionaryVersion", "6.0");
                SetIfNotPresent(dict, "CFBundlePackageType", "APPL");
                SetIfNotPresent(dict, "CFBundleSignature", "????");

                return result;
            }));
        }
Esempio n. 3
0
		public override SolutionItemConfiguration CreateConfiguration (string name)
		{
			var conf = new MonoMacProjectConfiguration (name);
			conf.CopyFrom (base.CreateConfiguration (name));
			return conf;
		}
		static IEnumerable<FilePair> GetCopyFiles (MonoMacProject project, ConfigurationSelector sel, MonoMacProjectConfiguration conf)
		{
			var resDir = conf.AppDirectoryResources;
			var output = conf.CompiledOutputName;
			yield return new FilePair (output, resDir.Combine (output.FileName));
			
			if (conf.DebugMode) {
				FilePath mdbFile = project.TargetRuntime.GetAssemblyDebugInfoFile (output);
				if (File.Exists (mdbFile))
					yield return new FilePair (mdbFile, resDir.Combine (mdbFile.FileName));
			}
			
			foreach (FileCopySet.Item s in project.GetSupportFileList (sel))
				yield return new FilePair (s.Src, resDir.Combine (s.Target));
			
			foreach (var pf in project.Files)
				if (pf.BuildAction == BuildAction.Content)
					yield return new FilePair (pf.FilePath, pf.ProjectVirtualPath.ToAbsolute (resDir));
		}
		BuildResult MergeInfoPlist (IProgressMonitor monitor, MonoMacProject proj, MonoMacProjectConfiguration conf, 
		                            ProjectFile template, FilePath plistOut)
		{
			return MacBuildUtilities.CreateMergedPlist (monitor, template, plistOut, (PlistDocument doc) => {
				var result = new BuildResult ();
				var dict = doc.Root as PlistDictionary;
				if (dict == null)
					doc.Root = dict = new PlistDictionary ();
				
				//required keys that the user is likely to want to modify
				SetIfNotPresent (dict, "CFBundleName", proj.Name);
				SetIfNotPresent (dict, "CFBundleIdentifier", "com.yourcompany." + proj.Name);
				SetIfNotPresent (dict, "CFBundleShortVersionString", proj.Version);
				SetIfNotPresent (dict, "CFBundleVersion", "1");
				SetIfNotPresent (dict, "LSMinimumSystemVersion", "10.6");
				SetIfNotPresent (dict, "CFBundleDevelopmentRegion", "English");
				
				//required keys that the user probably should not modify
				dict["CFBundleExecutable"] = conf.LaunchScript.FileName;
				SetIfNotPresent (dict, "CFBundleInfoDictionaryVersion", "6.0");
				SetIfNotPresent (dict, "CFBundlePackageType", "APPL");
				SetIfNotPresent (dict, "CFBundleSignature", "????");
				
				return result;
			});
		}
        static IEnumerable <FilePair> GetCopyFiles(MonoMacProject project, ConfigurationSelector sel, MonoMacProjectConfiguration conf)
        {
            var resDir = conf.AppDirectoryResources;
            var output = conf.CompiledOutputName;

            yield return(new FilePair(output, resDir.Combine(output.FileName)));

            if (conf.DebugMode)
            {
                FilePath mdbFile = project.TargetRuntime.GetAssemblyDebugInfoFile(output);
                if (File.Exists(mdbFile))
                {
                    yield return(new FilePair(mdbFile, resDir.Combine(mdbFile.FileName)));
                }
            }

            foreach (FileCopySet.Item s in project.GetSupportFileList(sel))
            {
                yield return(new FilePair(s.Src, resDir.Combine(s.Target)));
            }

            foreach (var pf in project.Files)
            {
                if (pf.BuildAction == BuildAction.Content)
                {
                    yield return(new FilePair(pf.FilePath, pf.ProjectVirtualPath.ToAbsolute(resDir)));
                }
            }
        }