Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Spec: Make project files more readable #118

Open
3 of 7 tasks
IviriusMain opened this issue Jan 17, 2025 · 1 comment
Open
3 of 7 tasks

Spec: Make project files more readable #118

IviriusMain opened this issue Jan 17, 2025 · 1 comment
Labels
enhancement New feature or request

Comments

@IviriusMain
Copy link
Member

IviriusMain commented Jan 17, 2025

πŸ“„ Description

Use a predefined structure for project files

Projects:

  • Rebound Hub
  • Control Panel
  • Winver
  • Disk Cleanup
  • Run
  • TPM Management
  • Defragment

⚑ API Changes

<Project Sdk="Microsoft.NET.Sdk">
	<!-- Properties -->
	<PropertyGroup>
		<!-- Versions -->
		<TargetFramework>net8.0-windows10.0.22621.0</TargetFramework>
                ...

		<!-- Application metadata -->
		<ApplicationManifest>app.manifest</ApplicationManifest>
                ...


		<!-- Package metadata -->
		<PackageLicenseExpression>MIT</PackageLicenseExpression>
                ...

		<!-- Architecture -->
		<Platforms>x86;x64;ARM64</Platforms>
                ...

		<!-- Signing -->
		<AppxPackageSigningEnabled>true</AppxPackageSigningEnabled>
                ...

		<!-- Packaging -->
		<GenerateAppInstallerFile>true</GenerateAppInstallerFile>
                ...

		<!-- Compilation -->
		<GenerateTestArtifacts>true</GenerateTestArtifacts>
                ...

		<!-- Required for MVVM -->
		<LangVersion>preview</LangVersion>
                ...

		<!-- Required for WMI -->
		<PublishTrimmed>false</PublishTrimmed>
                ...
	</PropertyGroup>

	<!-- Package content -->
	<ItemGroup>
        ...
	</ItemGroup>

	<!-- App assets -->
	<ItemGroup>
        ...
	</ItemGroup>

	<!-- Package References -->
	<ItemGroup>
        ...
	</ItemGroup>

	<!-- Helpers project -->
	<ItemGroup>
		<ProjectReference Include="..\Helpers\Rebound.Helpers.csproj" />
        ...
	</ItemGroup>

	<!-- App manifest -->
	<ItemGroup>
		<Manifest Include="$(ApplicationManifest)" />
	</ItemGroup>

	<!-- Add MSIX capability if tooling is enabled and not disabled by project configuration -->
	<ItemGroup Condition="'$(DisableMsixProjectCapabilityAddedByProject)'!='true' and '$(EnableMsixTooling)'=='true'">
		<ProjectCapability Include="Msix" />
	</ItemGroup>

	<!-- Enable Package and Publish menu options if MSIX tooling is enabled and not disabled by project configuration -->
	<PropertyGroup Condition="'$(DisableHasPackageAndPublishMenuAddedByProject)'!='true' and '$(EnableMsixTooling)'=='true'">
		<HasPackageAndPublishMenu>true</HasPackageAndPublishMenu>
	</PropertyGroup>

	<!-- XAML Windows -->
	<ItemGroup>
        ...
	</ItemGroup>

	<!-- XAML Pages -->
	<ItemGroup>
        ...
	</ItemGroup>

	<!-- Icons -->
	<ItemGroup>
        ...
	</ItemGroup>

	<!-- GitHub README -->
	<ItemGroup>
        ...
	</ItemGroup>

	<!-- Publish Properties -->
	<PropertyGroup>
        ...
	</PropertyGroup>
</Project>

πŸ‘₯ Usage scenarios

Readability

πŸ”™ Backward Compatibility

No response

πŸ€” Difficulty

Low

@IviriusMain IviriusMain added the enhancement New feature or request label Jan 17, 2025
@github-project-automation github-project-automation bot moved this to πŸ“‹ To do in Rebound Jan 17, 2025
@Lamparter
Copy link
Collaborator

No
Please DM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: πŸ“‹ To do
Development

No branches or pull requests

2 participants