mirror of
https://gitcode.com/gh_mirrors/se/Semi.Avalonia
synced 2026-06-07 02:18:17 +08:00
Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 24bd21936f | |||
| 43b829e3b8 | |||
| ef1fac705b | |||
| d86211ae59 |
+240
@@ -0,0 +1,240 @@
|
||||
# editorconfig.org
|
||||
|
||||
# top-most EditorConfig file
|
||||
root = true
|
||||
|
||||
# Default settings:
|
||||
# A newline ending every file
|
||||
# Use 4 spaces as indentation
|
||||
[*]
|
||||
insert_final_newline = true
|
||||
indent_style = space
|
||||
indent_size = 4
|
||||
|
||||
# C# files
|
||||
[*.cs]
|
||||
# New line preferences
|
||||
csharp_new_line_before_open_brace = all
|
||||
csharp_new_line_before_else = true
|
||||
csharp_new_line_before_catch = true
|
||||
csharp_new_line_before_finally = true
|
||||
csharp_new_line_before_members_in_object_initializers = true
|
||||
csharp_new_line_before_members_in_anonymous_types = true
|
||||
csharp_new_line_between_query_expression_clauses = true
|
||||
# trim_trailing_whitespace = true
|
||||
|
||||
# Indentation preferences
|
||||
csharp_indent_block_contents = true
|
||||
csharp_indent_braces = false
|
||||
csharp_indent_case_contents = true
|
||||
csharp_indent_switch_labels = true
|
||||
csharp_indent_labels = one_less_than_current
|
||||
|
||||
# avoid this. unless absolutely necessary
|
||||
dotnet_style_qualification_for_field = false:suggestion
|
||||
dotnet_style_qualification_for_property = false:suggestion
|
||||
dotnet_style_qualification_for_method = false:suggestion
|
||||
dotnet_style_qualification_for_event = false:suggestion
|
||||
|
||||
# prefer var
|
||||
csharp_style_var_for_built_in_types = true
|
||||
csharp_style_var_when_type_is_apparent = true
|
||||
csharp_style_var_elsewhere = true:suggestion
|
||||
|
||||
# use language keywords instead of BCL types
|
||||
dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion
|
||||
dotnet_style_predefined_type_for_member_access = true:suggestion
|
||||
|
||||
# name all constant fields using PascalCase
|
||||
dotnet_naming_rule.constant_fields_should_be_pascal_case.severity = suggestion
|
||||
dotnet_naming_rule.constant_fields_should_be_pascal_case.symbols = constant_fields
|
||||
dotnet_naming_rule.constant_fields_should_be_pascal_case.style = pascal_case_style
|
||||
|
||||
dotnet_naming_symbols.constant_fields.applicable_kinds = field
|
||||
dotnet_naming_symbols.constant_fields.required_modifiers = const
|
||||
|
||||
dotnet_naming_style.pascal_case_style.capitalization = pascal_case
|
||||
|
||||
# private static fields should have s_ prefix
|
||||
dotnet_naming_rule.private_static_fields_should_have_prefix.severity = suggestion
|
||||
dotnet_naming_rule.private_static_fields_should_have_prefix.symbols = private_static_fields
|
||||
dotnet_naming_rule.private_static_fields_should_have_prefix.style = private_static_prefix_style
|
||||
|
||||
dotnet_naming_symbols.private_static_fields.applicable_kinds = field
|
||||
dotnet_naming_symbols.private_static_fields.required_modifiers = static
|
||||
dotnet_naming_symbols.private_static_fields.applicable_accessibilities = private
|
||||
|
||||
dotnet_naming_style.private_static_prefix_style.required_prefix = s_
|
||||
dotnet_naming_style.private_static_prefix_style.capitalization = camel_case
|
||||
|
||||
# internal and private fields should be _camelCase
|
||||
dotnet_naming_rule.camel_case_for_private_internal_fields.severity = suggestion
|
||||
dotnet_naming_rule.camel_case_for_private_internal_fields.symbols = private_internal_fields
|
||||
dotnet_naming_rule.camel_case_for_private_internal_fields.style = camel_case_underscore_style
|
||||
|
||||
dotnet_naming_symbols.private_internal_fields.applicable_kinds = field
|
||||
dotnet_naming_symbols.private_internal_fields.applicable_accessibilities = private, internal
|
||||
|
||||
dotnet_naming_style.camel_case_underscore_style.required_prefix = _
|
||||
dotnet_naming_style.camel_case_underscore_style.capitalization = camel_case
|
||||
|
||||
# use accessibility modifiers
|
||||
dotnet_style_require_accessibility_modifiers = for_non_interface_members:suggestion
|
||||
|
||||
# Code style defaults
|
||||
dotnet_sort_system_directives_first = true
|
||||
csharp_preserve_single_line_blocks = true
|
||||
csharp_preserve_single_line_statements = false
|
||||
|
||||
# Expression-level preferences
|
||||
dotnet_style_object_initializer = true:suggestion
|
||||
dotnet_style_collection_initializer = true:suggestion
|
||||
dotnet_style_explicit_tuple_names = true:suggestion
|
||||
dotnet_style_coalesce_expression = true:suggestion
|
||||
dotnet_style_null_propagation = true:suggestion
|
||||
|
||||
# Expression-bodied members
|
||||
csharp_style_expression_bodied_methods = false:none
|
||||
csharp_style_expression_bodied_constructors = false:none
|
||||
csharp_style_expression_bodied_operators = false:none
|
||||
csharp_style_expression_bodied_properties = true:none
|
||||
csharp_style_expression_bodied_indexers = true:none
|
||||
csharp_style_expression_bodied_accessors = true:none
|
||||
|
||||
# Pattern matching
|
||||
csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion
|
||||
csharp_style_pattern_matching_over_as_with_null_check = true:suggestion
|
||||
csharp_style_inlined_variable_declaration = true:suggestion
|
||||
|
||||
# Null checking preferences
|
||||
csharp_style_throw_expression = true:suggestion
|
||||
csharp_style_conditional_delegate_call = true:suggestion
|
||||
|
||||
# Space preferences
|
||||
csharp_space_after_cast = false
|
||||
csharp_space_after_colon_in_inheritance_clause = true
|
||||
csharp_space_after_comma = true
|
||||
csharp_space_after_dot = false
|
||||
csharp_space_after_keywords_in_control_flow_statements = true
|
||||
csharp_space_after_semicolon_in_for_statement = true
|
||||
csharp_space_around_binary_operators = before_and_after
|
||||
csharp_space_around_declaration_statements = false
|
||||
csharp_space_before_colon_in_inheritance_clause = true
|
||||
csharp_space_before_comma = false
|
||||
csharp_space_before_dot = false
|
||||
csharp_space_before_open_square_brackets = false
|
||||
csharp_space_before_semicolon_in_for_statement = false
|
||||
csharp_space_between_empty_square_brackets = false
|
||||
csharp_space_between_method_call_empty_parameter_list_parentheses = false
|
||||
csharp_space_between_method_call_name_and_opening_parenthesis = false
|
||||
csharp_space_between_method_call_parameter_list_parentheses = false
|
||||
csharp_space_between_method_declaration_empty_parameter_list_parentheses = false
|
||||
csharp_space_between_method_declaration_name_and_open_parenthesis = false
|
||||
csharp_space_between_method_declaration_parameter_list_parentheses = false
|
||||
csharp_space_between_parentheses = false
|
||||
csharp_space_between_square_brackets = false
|
||||
space_within_single_line_array_initializer_braces = true
|
||||
|
||||
#Net Analyzer
|
||||
dotnet_analyzer_diagnostic.category-Performance.severity = none #error - Uncomment when all violations are fixed.
|
||||
|
||||
# CA1018: Mark attributes with AttributeUsageAttribute
|
||||
dotnet_diagnostic.CA1018.severity = warning
|
||||
# CA1304: Specify CultureInfo
|
||||
dotnet_diagnostic.CA1304.severity = warning
|
||||
# CA1802: Use literals where appropriate
|
||||
dotnet_diagnostic.CA1802.severity = warning
|
||||
# CA1813: Avoid unsealed attributes
|
||||
dotnet_diagnostic.CA1813.severity = warning
|
||||
# CA1815: Override equals and operator equals on value types
|
||||
dotnet_diagnostic.CA1815.severity = warning
|
||||
# CA1820: Test for empty strings using string length
|
||||
dotnet_diagnostic.CA1820.severity = warning
|
||||
# CA1821: Remove empty finalizers
|
||||
dotnet_diagnostic.CA1821.severity = warning
|
||||
# CA1822: Mark members as static
|
||||
dotnet_diagnostic.CA1822.severity = suggestion
|
||||
dotnet_code_quality.CA1822.api_surface = private, internal
|
||||
# CA1823: Avoid unused private fields
|
||||
dotnet_diagnostic.CA1823.severity = warning
|
||||
# CA1825: Avoid zero-length array allocations
|
||||
dotnet_diagnostic.CA1825.severity = warning
|
||||
# CA1826: Use property instead of Linq Enumerable method
|
||||
dotnet_diagnostic.CA1826.severity = suggestion
|
||||
# CA1827: Do not use Count/LongCount when Any can be used
|
||||
dotnet_diagnostic.CA1827.severity = warning
|
||||
# CA1828: Do not use CountAsync/LongCountAsync when AnyAsync can be used
|
||||
dotnet_diagnostic.CA1828.severity = warning
|
||||
# CA1829: Use Length/Count property instead of Enumerable.Count method
|
||||
dotnet_diagnostic.CA1829.severity = warning
|
||||
#CA1847: Use string.Contains(char) instead of string.Contains(string) with single characters
|
||||
dotnet_diagnostic.CA1847.severity = warning
|
||||
# CA1851: Possible multiple enumerations of IEnumerable collection
|
||||
dotnet_diagnostic.CA1851.severity = warning
|
||||
#CA1854: Prefer the IDictionary.TryGetValue(TKey, out TValue) method
|
||||
dotnet_diagnostic.CA1854.severity = warning
|
||||
#CA2211:Non-constant fields should not be visible
|
||||
dotnet_diagnostic.CA2211.severity = warning
|
||||
|
||||
# Wrapping preferences
|
||||
csharp_wrap_before_ternary_opsigns = false
|
||||
|
||||
# Avalonia PublicAnalyzer preferences
|
||||
dotnet_diagnostic.AVP1000.severity = warning
|
||||
dotnet_diagnostic.AVP1001.severity = warning
|
||||
dotnet_diagnostic.AVP1002.severity = warning
|
||||
dotnet_diagnostic.AVP1010.severity = warning
|
||||
dotnet_diagnostic.AVP1011.severity = warning
|
||||
dotnet_diagnostic.AVP1012.severity = warning
|
||||
dotnet_diagnostic.AVP1013.severity = warning
|
||||
dotnet_diagnostic.AVP1020.severity = warning
|
||||
dotnet_diagnostic.AVP1021.severity = warning
|
||||
dotnet_diagnostic.AVP1022.severity = warning
|
||||
dotnet_diagnostic.AVP1030.severity = warning
|
||||
dotnet_diagnostic.AVP1031.severity = warning
|
||||
dotnet_diagnostic.AVP1032.severity = warning
|
||||
dotnet_diagnostic.AVP1040.severity = warning
|
||||
dotnet_diagnostic.AVA2001.severity = warning
|
||||
|
||||
# Xaml files
|
||||
[*.{xaml,axaml}]
|
||||
indent_size = 2
|
||||
# DuplicateSetterError
|
||||
avalonia_xaml_diagnostic.AVLN2203.severity = warning
|
||||
# StyleInMergedDictionaries
|
||||
avalonia_xaml_diagnostic.AVLN2204.severity = warning
|
||||
# RequiredTemplatePartMissing
|
||||
avalonia_xaml_diagnostic.AVLN2205.severity = warning
|
||||
# OptionalTemplatePartMissing
|
||||
avalonia_xaml_diagnostic.AVLN2206.severity = info
|
||||
# TemplatePartWrongType
|
||||
avalonia_xaml_diagnostic.AVLN2207.severity = warning
|
||||
# ItemContainerInsideTemplate
|
||||
avalonia_xaml_diagnostic.AVLN2208.severity = warning
|
||||
# Obsolete
|
||||
avalonia_xaml_diagnostic.AVLN5001.severity = warning
|
||||
|
||||
# Xml project files
|
||||
[*.{csproj,vcxproj,vcxproj.filters,proj,nativeproj,locproj}]
|
||||
indent_size = 2
|
||||
|
||||
# Xml build files
|
||||
[*.builds]
|
||||
indent_size = 2
|
||||
|
||||
# Xml files
|
||||
[*.{xml,stylecop,resx,ruleset}]
|
||||
indent_size = 2
|
||||
|
||||
# Xml config files
|
||||
[*.{props,targets,config,nuspec}]
|
||||
indent_size = 2
|
||||
|
||||
[*.json]
|
||||
indent_size = 2
|
||||
|
||||
# Shell scripts
|
||||
[*.sh]
|
||||
end_of_line = lf
|
||||
[*.{cmd,bat}]
|
||||
end_of_line = crlf
|
||||
@@ -6,7 +6,7 @@ on:
|
||||
Version_Prefix:
|
||||
description: 'Version Prefix'
|
||||
required: true
|
||||
default: '11.2.999'
|
||||
default: '12.0.999'
|
||||
type: string
|
||||
Semi_Avalonia:
|
||||
description: 'Pack Semi.Avalonia'
|
||||
|
||||
@@ -40,6 +40,7 @@ on:
|
||||
Semi_Avalonia_TreeDataGrid:
|
||||
type: boolean
|
||||
default: true
|
||||
secrets: {}
|
||||
|
||||
jobs:
|
||||
Pack_to_NuGet:
|
||||
|
||||
@@ -35,6 +35,14 @@ on:
|
||||
description: 'macOS arm64 AOT'
|
||||
default: false
|
||||
type: boolean
|
||||
osx-x64:
|
||||
description: 'macOS Intel x64'
|
||||
default: false
|
||||
type: boolean
|
||||
osx-x64-aot:
|
||||
description: 'macOS Intel x64 AOT'
|
||||
default: false
|
||||
type: boolean
|
||||
android-arm64:
|
||||
description: 'Android arm64'
|
||||
default: false
|
||||
@@ -65,10 +73,23 @@ on:
|
||||
osx-arm64-aot:
|
||||
type: boolean
|
||||
default: true
|
||||
osx-x64:
|
||||
type: boolean
|
||||
default: true
|
||||
osx-x64-aot:
|
||||
type: boolean
|
||||
default: true
|
||||
android-arm64:
|
||||
type: boolean
|
||||
default: true
|
||||
|
||||
# SDK 渠道与各作业的 TargetFramework 对应:
|
||||
# - net8.0(Semi.Avalonia.Demo.Desktop / Semi.Avalonia.Demo.Drm)→ DOTNET_SDK_VERSION_NET8
|
||||
# - net10.0-android(Semi.Avalonia.Demo.Android)→ DOTNET_SDK_VERSION_NET10
|
||||
env:
|
||||
DOTNET_SDK_VERSION_NET8: '8.0.x'
|
||||
DOTNET_SDK_VERSION_NET10: '10.0.x'
|
||||
|
||||
jobs:
|
||||
win-x64:
|
||||
if: ${{inputs.win-x64}}
|
||||
@@ -76,6 +97,10 @@ jobs:
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v5
|
||||
- name: Setup dotnet
|
||||
uses: actions/setup-dotnet@v5
|
||||
with:
|
||||
dotnet-version: ${{ env.DOTNET_SDK_VERSION_NET8 }}
|
||||
- name: Publish win-x64
|
||||
run: dotnet publish demo/Semi.Avalonia.Demo.Desktop -r win-x64 -c Release -o publish --sc /p:PublishSingleFile=true /p:IncludeNativeLibrariesForSelfExtract=true
|
||||
- name: Upload a Build Artifact
|
||||
@@ -92,6 +117,10 @@ jobs:
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v5
|
||||
- name: Setup dotnet
|
||||
uses: actions/setup-dotnet@v5
|
||||
with:
|
||||
dotnet-version: ${{ env.DOTNET_SDK_VERSION_NET8 }}
|
||||
- name: Enable Native AOT in .csproj
|
||||
run: sed -i 's#<!--<PublishAot>true</PublishAot>-->#<PublishAot>true</PublishAot>#' demo/Semi.Avalonia.Demo.Desktop/Semi.Avalonia.Demo.Desktop.csproj
|
||||
- name: Publish win-x64 AOT
|
||||
@@ -110,6 +139,10 @@ jobs:
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v5
|
||||
- name: Setup dotnet
|
||||
uses: actions/setup-dotnet@v5
|
||||
with:
|
||||
dotnet-version: ${{ env.DOTNET_SDK_VERSION_NET8 }}
|
||||
- name: Publish linux-x64
|
||||
run: dotnet publish demo/Semi.Avalonia.Demo.Desktop -r linux-x64 -c Release -o publish --sc /p:PublishSingleFile=true /p:IncludeNativeLibrariesForSelfExtract=true
|
||||
- name: Upload a Build Artifact
|
||||
@@ -126,6 +159,10 @@ jobs:
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v5
|
||||
- name: Setup dotnet
|
||||
uses: actions/setup-dotnet@v5
|
||||
with:
|
||||
dotnet-version: ${{ env.DOTNET_SDK_VERSION_NET8 }}
|
||||
- name: Enable Native AOT in .csproj
|
||||
run: sed -i 's#<!--<PublishAot>true</PublishAot>-->#<PublishAot>true</PublishAot>#' demo/Semi.Avalonia.Demo.Desktop/Semi.Avalonia.Demo.Desktop.csproj
|
||||
- name: Publish linux-x64 AOT
|
||||
@@ -144,6 +181,10 @@ jobs:
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v5
|
||||
- name: Setup dotnet
|
||||
uses: actions/setup-dotnet@v5
|
||||
with:
|
||||
dotnet-version: ${{ env.DOTNET_SDK_VERSION_NET8 }}
|
||||
- name: Publish linux-x64 DRM
|
||||
run: dotnet publish demo/Semi.Avalonia.Demo.Drm -r linux-x64 -c Release -o publish --sc /p:PublishSingleFile=true /p:IncludeNativeLibrariesForSelfExtract=true
|
||||
- name: Upload a Build Artifact
|
||||
@@ -160,6 +201,10 @@ jobs:
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v5
|
||||
- name: Setup dotnet
|
||||
uses: actions/setup-dotnet@v5
|
||||
with:
|
||||
dotnet-version: ${{ env.DOTNET_SDK_VERSION_NET8 }}
|
||||
- name: Enable Native AOT in .csproj
|
||||
run: sed -i 's#<!--<PublishAot>true</PublishAot>-->#<PublishAot>true</PublishAot>#' demo/Semi.Avalonia.Demo.Drm/Semi.Avalonia.Demo.Drm.csproj
|
||||
- name: Publish linux-x64 AOT
|
||||
@@ -178,8 +223,41 @@ jobs:
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v5
|
||||
|
||||
- name: Setup dotnet
|
||||
uses: actions/setup-dotnet@v5
|
||||
with:
|
||||
dotnet-version: ${{ env.DOTNET_SDK_VERSION_NET8 }}
|
||||
|
||||
- name: Publish osx-arm64
|
||||
run: dotnet publish demo/Semi.Avalonia.Demo.Desktop -r osx-arm64 -c Release -o publish --sc /p:PublishSingleFile=true /p:IncludeNativeLibrariesForSelfExtract=true
|
||||
|
||||
- name: Create .app bundle and DMG (create-dmg)
|
||||
run: |
|
||||
set -euo pipefail
|
||||
APP_DIR="bundle/Semi.Avalonia.Demo.app"
|
||||
MACOS_DIR="${APP_DIR}/Contents/MacOS"
|
||||
mkdir -p "${MACOS_DIR}"
|
||||
cp -R publish/. "${MACOS_DIR}/"
|
||||
chmod +x "${MACOS_DIR}/Semi.Avalonia.Demo.Desktop"
|
||||
cp publish/Info-macOS.plist "${APP_DIR}/Contents/Info.plist"
|
||||
codesign --force --deep --sign - "${APP_DIR}"
|
||||
mkdir -p dmg_stage
|
||||
ditto "${APP_DIR}" "dmg_stage/Semi.Avalonia.Demo.app"
|
||||
brew install create-dmg
|
||||
rm -f Semi.Avalonia.Demo.Desktop.osx-arm64.dmg
|
||||
create-dmg \
|
||||
--volname "Semi Avalonia Demo" \
|
||||
--window-pos 200 120 \
|
||||
--window-size 640 400 \
|
||||
--icon-size 100 \
|
||||
--icon "Semi.Avalonia.Demo.app" 175 185 \
|
||||
--hide-extension "Semi.Avalonia.Demo.app" \
|
||||
--app-drop-link 455 185 \
|
||||
--skip-jenkins \
|
||||
"Semi.Avalonia.Demo.Desktop.osx-arm64.dmg" \
|
||||
"dmg_stage"
|
||||
|
||||
- name: Upload a Build Artifact
|
||||
uses: actions/upload-artifact@v4.6.2
|
||||
with:
|
||||
@@ -188,12 +266,79 @@ jobs:
|
||||
publish
|
||||
!publish/*.pdb
|
||||
|
||||
- name: Upload macOS DMG
|
||||
uses: actions/upload-artifact@v4.6.2
|
||||
with:
|
||||
name: Semi.Avalonia.Demo.Desktop.osx-arm64.dmg
|
||||
path: Semi.Avalonia.Demo.Desktop.osx-arm64.dmg
|
||||
|
||||
osx-x64:
|
||||
if: ${{inputs.osx-x64}}
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v5
|
||||
|
||||
- name: Setup dotnet
|
||||
uses: actions/setup-dotnet@v5
|
||||
with:
|
||||
dotnet-version: ${{ env.DOTNET_SDK_VERSION_NET8 }}
|
||||
|
||||
- name: Publish osx-x64
|
||||
run: dotnet publish demo/Semi.Avalonia.Demo.Desktop -r osx-x64 -c Release -o publish --sc /p:PublishSingleFile=true /p:IncludeNativeLibrariesForSelfExtract=true
|
||||
|
||||
- name: Create .app bundle and DMG (create-dmg)
|
||||
run: |
|
||||
set -euo pipefail
|
||||
APP_DIR="bundle/Semi.Avalonia.Demo.app"
|
||||
MACOS_DIR="${APP_DIR}/Contents/MacOS"
|
||||
mkdir -p "${MACOS_DIR}"
|
||||
cp -R publish/. "${MACOS_DIR}/"
|
||||
chmod +x "${MACOS_DIR}/Semi.Avalonia.Demo.Desktop"
|
||||
cp publish/Info-macOS.plist "${APP_DIR}/Contents/Info.plist"
|
||||
codesign --force --deep --sign - "${APP_DIR}"
|
||||
mkdir -p dmg_stage
|
||||
ditto "${APP_DIR}" "dmg_stage/Semi.Avalonia.Demo.app"
|
||||
brew install create-dmg
|
||||
rm -f Semi.Avalonia.Demo.Desktop.osx-x64.dmg
|
||||
create-dmg \
|
||||
--volname "Semi Avalonia Demo" \
|
||||
--window-pos 200 120 \
|
||||
--window-size 640 400 \
|
||||
--icon-size 100 \
|
||||
--icon "Semi.Avalonia.Demo.app" 175 185 \
|
||||
--hide-extension "Semi.Avalonia.Demo.app" \
|
||||
--app-drop-link 455 185 \
|
||||
--skip-jenkins \
|
||||
"Semi.Avalonia.Demo.Desktop.osx-x64.dmg" \
|
||||
"dmg_stage"
|
||||
|
||||
- name: Upload a Build Artifact
|
||||
uses: actions/upload-artifact@v4.6.2
|
||||
with:
|
||||
name: Semi.Avalonia.Demo.Desktop.osx-x64
|
||||
path: |
|
||||
publish
|
||||
!publish/*.pdb
|
||||
|
||||
- name: Upload macOS DMG (Intel)
|
||||
uses: actions/upload-artifact@v4.6.2
|
||||
with:
|
||||
name: Semi.Avalonia.Demo.Desktop.osx-x64.dmg
|
||||
path: Semi.Avalonia.Demo.Desktop.osx-x64.dmg
|
||||
|
||||
osx-arm64-aot:
|
||||
if: ${{inputs.osx-arm64-aot}}
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v5
|
||||
|
||||
- name: Setup dotnet
|
||||
uses: actions/setup-dotnet@v5
|
||||
with:
|
||||
dotnet-version: ${{ env.DOTNET_SDK_VERSION_NET8 }}
|
||||
|
||||
- name: Enable Native AOT in .csproj
|
||||
run: sed -i '' 's#<!--<PublishAot>true</PublishAot>-->#<PublishAot>true</PublishAot>#' demo/Semi.Avalonia.Demo.Desktop/Semi.Avalonia.Demo.Desktop.csproj
|
||||
- name: Publish osx-arm64 AOT
|
||||
@@ -206,12 +351,40 @@ jobs:
|
||||
publish
|
||||
!publish/*.pdb
|
||||
|
||||
osx-x64-aot:
|
||||
if: ${{inputs.osx-x64-aot}}
|
||||
runs-on: macos-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v5
|
||||
|
||||
- name: Setup dotnet
|
||||
uses: actions/setup-dotnet@v5
|
||||
with:
|
||||
dotnet-version: ${{ env.DOTNET_SDK_VERSION_NET8 }}
|
||||
|
||||
- name: Enable Native AOT in .csproj
|
||||
run: sed -i '' 's#<!--<PublishAot>true</PublishAot>-->#<PublishAot>true</PublishAot>#' demo/Semi.Avalonia.Demo.Desktop/Semi.Avalonia.Demo.Desktop.csproj
|
||||
- name: Publish osx-x64 AOT
|
||||
run: dotnet publish demo/Semi.Avalonia.Demo.Desktop -r osx-x64 -c Release -o publish
|
||||
- name: Upload a Build Artifact
|
||||
uses: actions/upload-artifact@v4.6.2
|
||||
with:
|
||||
name: Semi.Avalonia.Demo.Desktop.osx-x64.NativeAOT
|
||||
path: |
|
||||
publish
|
||||
!publish/*.pdb
|
||||
|
||||
android-arm64:
|
||||
if: ${{inputs.android-arm64 }}
|
||||
runs-on: windows-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v5
|
||||
- name: Setup dotnet
|
||||
uses: actions/setup-dotnet@v5
|
||||
with:
|
||||
dotnet-version: ${{ env.DOTNET_SDK_VERSION_NET10 }}
|
||||
- name: Install Android workload
|
||||
run: dotnet workload install android
|
||||
- name: Restore Dependencies
|
||||
|
||||
@@ -33,6 +33,7 @@ jobs:
|
||||
Semi_Avalonia_ColorPicker: ${{ inputs.Semi_Avalonia_ColorPicker }}
|
||||
Semi_Avalonia_DataGrid: ${{ inputs.Semi_Avalonia_DataGrid }}
|
||||
Semi_Avalonia_TreeDataGrid: ${{ inputs.Semi_Avalonia_TreeDataGrid }}
|
||||
secrets: inherit
|
||||
|
||||
publish:
|
||||
uses: ./.github/workflows/publish.yml
|
||||
@@ -57,6 +58,10 @@ jobs:
|
||||
zip -rj Semi.Avalonia.Demo.Desktop.osx-arm64.zip Semi.Avalonia.Demo.Desktop.osx-arm64
|
||||
cd Semi.Avalonia.Demo.Desktop.osx-arm64.NativeAOT
|
||||
zip -r ../Semi.Avalonia.Demo.Desktop.osx-arm64.NativeAOT.zip .
|
||||
cd "${GITHUB_WORKSPACE}"
|
||||
zip -rj Semi.Avalonia.Demo.Desktop.osx-x64.zip Semi.Avalonia.Demo.Desktop.osx-x64
|
||||
cd Semi.Avalonia.Demo.Desktop.osx-x64.NativeAOT
|
||||
zip -r ../Semi.Avalonia.Demo.Desktop.osx-x64.NativeAOT.zip .
|
||||
|
||||
- name: Display structure of zipped files
|
||||
run: ls -R
|
||||
@@ -70,4 +75,6 @@ jobs:
|
||||
files: |
|
||||
nugets/*.nupkg
|
||||
android-arm64/*.apk
|
||||
*.zip
|
||||
*.zip
|
||||
Semi.Avalonia.Demo.Desktop.osx-arm64.dmg/Semi.Avalonia.Demo.Desktop.osx-arm64.dmg
|
||||
Semi.Avalonia.Demo.Desktop.osx-x64.dmg/Semi.Avalonia.Demo.Desktop.osx-x64.dmg
|
||||
@@ -1,8 +1,8 @@
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
|
||||
<AvaloniaVersion>11.3.11</AvaloniaVersion>
|
||||
<DataGridVersion>11.3.11</DataGridVersion>
|
||||
<AvaloniaVersion>11.3.14</AvaloniaVersion>
|
||||
<DataGridVersion>11.3.13</DataGridVersion>
|
||||
<SkiaSharpVersion>3.119.1</SkiaSharpVersion>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
@@ -24,4 +24,4 @@
|
||||
<PackageVersion Include="CommunityToolkit.Mvvm" Version="8.4.0"/>
|
||||
<PackageVersion Include="Irihi.Avalonia.Shared" Version="0.3.1"/>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
</Project>
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>Semi.Avalonia.Demo.Desktop</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>org.avaloniaui.SemiAvaloniaDemo</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>Semi Avalonia Demo</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>$(Version)</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>$(Version)</string>
|
||||
<key>LSMinimumSystemVersion</key>
|
||||
<string>10.15</string>
|
||||
</dict>
|
||||
</plist>
|
||||
@@ -1,7 +1,24 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
<UsingTask TaskName="ExpandMacOSPlistVersion" TaskFactory="RoslynCodeTaskFactory" AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.Core.dll">
|
||||
<ParameterGroup>
|
||||
<InputFile ParameterType="System.String" Required="true"/>
|
||||
<OutputFile ParameterType="System.String" Required="true"/>
|
||||
<AppVersion ParameterType="System.String" Required="true"/>
|
||||
</ParameterGroup>
|
||||
<Task>
|
||||
<Code Type="Fragment" Language="cs"><![CDATA[
|
||||
var token = "$" + "(Version)";
|
||||
System.IO.File.WriteAllText(
|
||||
OutputFile,
|
||||
System.IO.File.ReadAllText(InputFile).Replace(token, AppVersion));
|
||||
]]></Code>
|
||||
</Task>
|
||||
</UsingTask>
|
||||
|
||||
<PropertyGroup>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<Version>1.0.0</Version>
|
||||
<Nullable>enable</Nullable>
|
||||
<BuiltInComInteropSupport>true</BuiltInComInteropSupport>
|
||||
<ApplicationIcon>..\Semi.Avalonia.Demo\Assets\irihi.ico</ApplicationIcon>
|
||||
@@ -29,4 +46,11 @@
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Semi.Avalonia.Demo\Semi.Avalonia.Demo.csproj"/>
|
||||
</ItemGroup>
|
||||
|
||||
<Target Name="ExpandMacOSInfoPlist" AfterTargets="Publish">
|
||||
<ExpandMacOSPlistVersion
|
||||
InputFile="$(MSBuildProjectDirectory)/Info-macOS.plist"
|
||||
OutputFile="$(PublishDir)Info-macOS.plist"
|
||||
AppVersion="$(Version)"/>
|
||||
</Target>
|
||||
</Project>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
|
||||
<AvaloniaVersion>11.3.7</AvaloniaVersion>
|
||||
<AvaloniaVersion>11.3.14</AvaloniaVersion>
|
||||
<DataGridVersion>11.3.7</DataGridVersion>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
@@ -10,4 +10,4 @@
|
||||
<PackageVersion Include="Avalonia.Controls.DataGrid" Version="$(DataGridVersion)"/>
|
||||
<PackageVersion Include="Avalonia.Controls.TreeDataGrid" Version="11.1.1"/>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
</Project>
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFrameworks>netstandard2.0;net6.0;net8.0</TargetFrameworks>
|
||||
<Version>11.3.7.3</Version>
|
||||
<PackageReleaseNotes>Update to Semi.Avalonia.ColorPicker 11.3.7.3</PackageReleaseNotes>
|
||||
<Version>11.3.14</Version>
|
||||
<PackageReleaseNotes>Update to Semi.Avalonia.ColorPicker 11.3.14</PackageReleaseNotes>
|
||||
<Title>Semi.Avalonia.ColorPicker</Title>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFrameworks>netstandard2.0;net6.0;net8.0</TargetFrameworks>
|
||||
<Version>11.3.7.3</Version>
|
||||
<PackageReleaseNotes>Update to Semi.Avalonia 11.3.7.3</PackageReleaseNotes>
|
||||
<Version>11.3.14</Version>
|
||||
<PackageReleaseNotes>Update to Semi.Avalonia 11.3.14</PackageReleaseNotes>
|
||||
<Title>Semi.Avalonia</Title>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user