summaryrefslogtreecommitdiff
path: root/xmake/rules/csharp/xmake.lua
diff options
context:
space:
mode:
authorruki <[email protected]>2026-03-17 22:39:04 +0800
committerruki <[email protected]>2026-03-17 22:39:04 +0800
commitf575c37eefe974965452e29ec19752f62236685a (patch)
tree5cd94a156787cda1ef3388fbd9adb3add2d26c29 /xmake/rules/csharp/xmake.lua
parent701014b37d30227f2fa38ebe6ce344ab766513a2 (diff)
add csharp rule comments
Diffstat (limited to 'xmake/rules/csharp/xmake.lua')
-rw-r--r--xmake/rules/csharp/xmake.lua93
1 files changed, 93 insertions, 0 deletions
diff --git a/xmake/rules/csharp/xmake.lua b/xmake/rules/csharp/xmake.lua
index f13003520..251a71ecd 100644
--- a/xmake/rules/csharp/xmake.lua
+++ b/xmake/rules/csharp/xmake.lua
@@ -18,6 +18,99 @@
-- @file xmake.lua
--
+-- User Configs:
+--
+-- The following `csharp.*` values can be set via `set_values()` in xmake.lua
+-- to customize the auto-generated .csproj file.
+--
+-- e.g.
+-- target("example")
+-- add_rules("csharp")
+-- add_files("src/*.cs")
+-- set_values("csharp.target_framework", "net8.0")
+-- set_values("csharp.nullable", "disable")
+-- set_values("csharp.allow_unsafe_blocks", "true")
+--
+-- Project:
+-- csharp.sdk - Project Sdk (default: Microsoft.NET.Sdk)
+--
+-- General:
+-- csharp.target_framework - e.g. "net8.0", auto-detected from dotnet sdk if not set
+-- csharp.target_frameworks - multi-target, e.g. {"net8.0", "net9.0"} (list, semicolon-joined)
+-- csharp.implicit_usings - ImplicitUsings (default: "enable")
+-- csharp.nullable - Nullable (default: "enable")
+-- csharp.lang_version - LangVersion, e.g. "12.0", "latest"
+-- csharp.root_namespace - RootNamespace
+-- csharp.enable_default_compile_items - EnableDefaultCompileItems (default: "false")
+-- csharp.enable_default_embedded_resource_items - EnableDefaultEmbeddedResourceItems
+-- csharp.enable_default_none_items - EnableDefaultNoneItems
+--
+-- Build:
+-- csharp.generate_assembly_info - GenerateAssemblyInfo
+-- csharp.deterministic - Deterministic
+-- csharp.prefer_32bit - Prefer32Bit
+-- csharp.allow_unsafe_blocks - AllowUnsafeBlocks
+-- csharp.check_for_overflow_underflow - CheckForOverflowUnderflow
+--
+-- Analysis:
+-- csharp.analysis_level - AnalysisLevel
+-- csharp.enable_net_analyzers - EnableNETAnalyzers
+-- csharp.enforce_code_style_in_build - EnforceCodeStyleInBuild
+-- csharp.warnings_as_errors - WarningsAsErrors (list)
+-- csharp.warnings_not_as_errors - WarningsNotAsErrors (list)
+-- csharp.error_log - ErrorLog
+-- csharp.generate_documentation_file - GenerateDocumentationFile
+-- csharp.documentation_file - DocumentationFile
+--
+-- Publish/Runtime:
+-- csharp.runtime_identifier - RuntimeIdentifier, e.g. "win-x64"
+-- csharp.runtime_identifiers - RuntimeIdentifiers (list)
+-- csharp.self_contained - SelfContained
+-- csharp.use_app_host - UseAppHost
+-- csharp.roll_forward - RollForward
+-- csharp.publish_single_file - PublishSingleFile
+-- csharp.publish_trimmed - PublishTrimmed
+-- csharp.trim_mode - TrimMode
+-- csharp.publish_ready_to_run - PublishReadyToRun
+-- csharp.invariant_globalization - InvariantGlobalization
+-- csharp.include_native_libraries_for_self_extract - IncludeNativeLibrariesForSelfExtract
+-- csharp.enable_compression_in_single_file - EnableCompressionInSingleFile
+-- csharp.publish_aot - PublishAot
+-- csharp.strip_symbols - StripSymbols
+-- csharp.enable_trim_analyzer - EnableTrimAnalyzer
+-- csharp.json_serializer_is_reflection_enabled_by_default - JsonSerializerIsReflectionEnabledByDefault
+-- csharp.satellite_resource_languages - SatelliteResourceLanguages (list)
+--
+-- Package Info:
+-- csharp.version - Version
+-- csharp.assembly_version - AssemblyVersion
+-- csharp.file_version - FileVersion
+-- csharp.informational_version - InformationalVersion
+-- csharp.package_id - PackageId
+-- csharp.authors - Authors
+-- csharp.company - Company
+-- csharp.product - Product
+-- csharp.description - Description
+-- csharp.copyright - Copyright
+-- csharp.repository_url - RepositoryUrl
+-- csharp.repository_type - RepositoryType
+-- csharp.package_license_expression - PackageLicenseExpression
+-- csharp.package_project_url - PackageProjectUrl
+-- csharp.neutral_language - NeutralLanguage
+-- csharp.enable_preview_features - EnablePreviewFeatures
+--
+-- Output:
+-- csharp.generate_runtime_configuration_files - GenerateRuntimeConfigurationFiles
+-- csharp.copy_local_lock_file_assemblies - CopyLocalLockFileAssemblies
+-- csharp.append_target_framework_to_output_path - AppendTargetFrameworkToOutputPath (default: "false")
+-- csharp.append_runtime_identifier_to_output_path - AppendRuntimeIdentifierToOutputPath (default: "false")
+-- csharp.produce_reference_assembly - ProduceReferenceAssembly
+-- csharp.disable_implicit_framework_references - DisableImplicitFrameworkReferences
+-- csharp.generate_target_framework_attribute - GenerateTargetFrameworkAttribute
+--
+-- Custom Properties (for arbitrary csproj properties not listed above):
+-- csharp.properties - e.g. set_values("csharp.properties", "MyProp=value")
+--
rule("csharp.build")
set_sourcekinds("cs")
on_config("config")