Ejemplo n.º 1
0
 public FormAttribute(string name = null, VersionOption isFor = VersionOption.All, VersionOption isRequiredFor = VersionOption.None, bool addKeyOnlyIfBoolTrue = false)
 {
     AddKeyOnlyIfBoolTrue = addKeyOnlyIfBoolTrue;
     IsFor         = isFor;
     IsRequiredFor = isRequiredFor;
     Name          = name;
 }
Ejemplo n.º 2
0
        /// <summary>Create a query for content items with the option of including versions.</summary>
        /// <typeparam name="T">The type of content item to query for.</typeparam>
        /// <param name="engine">The engine onto which the extension method is attached.</param>
        /// <param name="versions">Wheter to include or exclude versions.</param>
        /// <returns>A query that can be extended.</returns>
        public static IQueryable <T> QueryItems <T>(this IEngine engine, VersionOption versions) where T : ContentItem
        {
            var q = engine.Query <T>();

            if (versions == N2.Persistence.Finder.VersionOption.Exclude)
            {
                q = q.Where(i => i.VersionOf == null);
            }
            return(q);
        }
Ejemplo n.º 3
0
    /// <summary>
    /// 获得构建版本
    /// </summary>
    /// <param name="versionOption"></param>
    /// <param name="customizeVersion"></param>
    /// <param name="buildTarget"></param>
    /// <returns></returns>
    public static AppVersion GetBuildVersion(VersionOption versionOption, AppVersion customizeVersion, BuildTarget buildTarget)
    {
        AppVersion lastBuildVersion = GetLastBuildVersion(buildTarget);
        AppVersion newVersion       = lastBuildVersion;

        switch (versionOption)
        {
        case VersionOption.PromotePatch:
        {
            if (lastBuildVersion == AppVersion.InitVersion)
            {
                Debug.Log("try check is first version build");
                // 是否是第一个版本,如果是就不增加补丁位。为了处理第一次打包
                string dir = PlatformEditorUtils.GetBuildToolVersionPatchDir(buildTarget, AppVersion.InitVersion);
                if (!Directory.Exists(dir) || Directory.GetDirectories(dir).Length == 0)
                {
                    Debug.Log("it's first version build");
                    break;
                }
            }
            newVersion.Revision += 1;
        }
        break;

        case VersionOption.PromoteMinorVersion:
        {
            newVersion.MinorVersion += 1;
            newVersion.Revision      = 0;
        }
        break;

        case VersionOption.PromoteLargeVersion:
        {
            newVersion.MajorVersion += 1;
            newVersion.MinorVersion  = 0;
            newVersion.Revision      = 0;
        }
        break;

        case VersionOption.CustomizeVersion:
        {
            newVersion = customizeVersion;
        }
        break;

        default:
            throw new ArgumentOutOfRangeException("versionOption", versionOption, null);
        }

        Debug.LogFormat("GetBuildVersion lastBuildVersion:{0}  newVersion:{1}", lastBuildVersion, newVersion);
        return(newVersion);
    }
Ejemplo n.º 4
0
 public AssemblyInfoOptions GetOptionValues()
 {
     return(new AssemblyInfoOptions()
     {
         AssemblyVersion = UnescapeNewlines(VersionOption.Value()),
         Title = UnescapeNewlines(TitleOption.Value()),
         Description = UnescapeNewlines(DescriptionOption.Value()),
         Copyright = UnescapeNewlines(CopyrightOption.Value()),
         NeutralLanguage = UnescapeNewlines(NeutralCultureOption.Value()),
         Culture = UnescapeNewlines(CultureOption.Value()),
         InformationalVersion = UnescapeNewlines(InformationalVersionOption.Value()),
         AssemblyFileVersion = UnescapeNewlines(FileVersionOption.Value()),
         TargetFramework = UnescapeNewlines(TargetFrameworkOption.Value()),
     });
 }
Ejemplo n.º 5
0
 /// <summary>Creates a query for content items with the option of including versions.</summary>
 /// <param name="versions">Wheter to include or exclude versions.</param>
 /// <param name="engine">The engine onto which the extension method is attached.</param>
 /// <returns>A query that can be extended.</returns>
 public static IQueryable <ContentItem> QueryItems(this IEngine engine, VersionOption versions)
 {
     return(engine.QueryItems <ContentItem>(versions));
 }
Ejemplo n.º 6
0
 IQueryEnding IQueryEnding.PreviousVersions(VersionOption option)
 {
     Versions = option;
     return(this);
 }
Ejemplo n.º 7
0
    private void OnGUI()
    {
        GUILayout.Label("出包工具:", EditorStyles.boldLabel);

        _buildMode = (BuildMode)EditorGUILayout.EnumPopup("出包方式", _buildMode);

        GUILayout.Space(10);
        // -选择目标平台类型-//
        _buildTarget   = (BuildTarget)EditorGUILayout.EnumPopup("选择平台", _buildTarget);
        _versionOption = (VersionOption)EditorGUILayout.EnumPopup("版本号模式", _versionOption);
        EditorGUI.indentLevel++;
        if (_versionOption == VersionOption.CustomizeVersion)
        {
            _customizeVersion = new AppVersion(EditorGUILayout.TextField("3位(前两位0~99之间):", _customizeVersion.ToString()));
        }
        else
        {
            EditorGUILayout.LabelField("新的版本号:", GameBuilder.GetBuildVersion(_versionOption, _customizeVersion, _buildTarget).ToString());
        }
        EditorGUI.indentLevel--;

        _applyAllRule = EditorGUILayout.Toggle("强制应用所有Rule", _applyAllRule);
        _increativeBuildAssetBundles = EditorGUILayout.Toggle("增量式构建Bundle", _increativeBuildAssetBundles);
        _bundleCompress = EditorGUILayout.Toggle("开启Bundle压缩", _bundleCompress);


        if (_buildMode != BuildMode.Patch)
        {
            GUILayout.Space(10);
            _hotFixOption = (HotFixOption)EditorGUILayout.EnumPopup("热更url", _hotFixOption);
            EditorGUI.indentLevel++;
            if (_hotFixOption == HotFixOption.Customize)
            {
                _hotFixUrl = EditorGUILayout.TextField("热更Url:", _hotFixUrl);
            }
            EditorGUI.indentLevel--;

            _development = EditorGUILayout.Toggle("开发版本:", _development);
            if (_buildTarget != BuildTarget.iOS)
            {
                _useMono2X = EditorGUILayout.Toggle("是否使用mono打包", _useMono2X);
            }

            if (_buildTarget == BuildTarget.Android)
            {
                _exportProject = EditorGUILayout.Toggle("是否导出工程", _exportProject);
                if (_exportProject)
                {
                    _useGradle = EditorGUILayout.Toggle("是否使用gradle", _useGradle);
                }
            }

            _bundleIdentifier = EditorGUILayout.TextField("Bundle Identifier", _bundleIdentifier);

            _appName = EditorGUILayout.TextField("app名字", _appName);
        }

        if (GUILayout.Button("构建"))
        {
            BuildGame();
        }
    }