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

Initial setup of configuration files, build script, and documentation for the repo #1

Merged
merged 7 commits into from
Mar 22, 2023

Conversation

michael-hawker
Copy link
Member

@michael-hawker michael-hawker commented Mar 15, 2023

Also starts #2 of bringing over Converters as we need a component to test CI without more work.

Was a good test-case in bringing stuff over. Took a couple of hours to bring these over with slight merging/updating and testing. Promising for sure, though a small subset of things.

@michael-hawker
Copy link
Member Author

Hitting some weird issue with paths in GenerateAllProjectReferences on line 18 with the resolve-path call...

Seems to be concatenating things together that shouldn't be like that. Can reproduce locally just by calling GenerateAllSolution. Only main difference with this component is it doesn't have Controls in its name, but that's the project not the folder. And that's not referenced here?

These calls seem to do the right thing locally?
image

But when run in the script it's like it's finding the 'samples' directory as the root for the component instead of 'Converters'?

So not sure why this is failing... FYI @Arlodotexe

Resolve-Path : Cannot find path 'H:\code\CommunityToolkitWindows\components\Converters\samples\src' because it
does not exist.
At H:\code\CommunityToolkitWindows\tooling\MultiTarget\GenerateAllProjectReferences.ps1:18 char:14
+   $srcPath = Resolve-Path "$($projectPath.FullName)\src";
+              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (H:\code\Communi...ers\samples\src:String) [Resolve-Path], ItemNotF
   oundException
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.ResolvePathCommand

Resolve-Path : Cannot find path 'H:\code\CommunityToolkitWindows\components\Converters\samples\samples' because
it does not exist.
At H:\code\CommunityToolkitWindows\tooling\MultiTarget\GenerateAllProjectReferences.ps1:21 char:17
+   $samplePath = Resolve-Path "$($projectPath.FullName)\samples";
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (H:\code\Communi...samples\samples:String) [Resolve-Path], ItemNotF
   oundException
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.ResolvePathCommand

H:\code\CommunityToolkitWindows\tooling\MultiTarget\GenerateMultiTargetAwareProjectReferenceProps.ps1 : Cannot
bind argument to parameter 'projectPath' because it is an empty string.
At H:\code\CommunityToolkitWindows\tooling\MultiTarget\GenerateAllProjectReferences.ps1:26 char:82
+ ... wareProjectReferenceProps.ps1 -projectPath $sampleProjectPath -output ...
+                                                ~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidData: (:) [GenerateMultiTa...erenceProps.ps1], ParameterBindingValidationExc
   eption
    + FullyQualifiedErrorId : ParameterArgumentValidationErrorEmptyStringNotAllowed,GenerateMultiTargetAwareProje
   ctReferenceProps.ps1

H:\code\CommunityToolkitWindows\tooling\MultiTarget\GenerateMultiTargetAwareProjectReferenceProps.ps1 : Cannot
bind argument to parameter 'projectPath' because it is an empty string.
At H:\code\CommunityToolkitWindows\tooling\MultiTarget\GenerateAllProjectReferences.ps1:29 char:82
+ ... etAwareProjectReferenceProps.ps1 -projectPath $srcProjectPath -output ...
+                                                   ~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidData: (:) [GenerateMultiTa...erenceProps.ps1], ParameterBindingValidationExc
   eption
    + FullyQualifiedErrorId : ParameterArgumentValidationErrorEmptyStringNotAllowed,GenerateMultiTargetAwareProje
   ctReferenceProps.ps1

Resolve-Path : Cannot find path 'H:\code\CommunityToolkitWindows\components\Converters\src\src' because it does
not exist.
At H:\code\CommunityToolkitWindows\tooling\MultiTarget\GenerateAllProjectReferences.ps1:18 char:14
+   $srcPath = Resolve-Path "$($projectPath.FullName)\src";
+              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (H:\code\Communi...verters\src\src:String) [Resolve-Path], ItemNotF
   oundException
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.ResolvePathCommand

Resolve-Path : Cannot find path 'H:\code\CommunityToolkitWindows\components\Converters\src\samples' because it
does not exist.
At H:\code\CommunityToolkitWindows\tooling\MultiTarget\GenerateAllProjectReferences.ps1:21 char:17
+   $samplePath = Resolve-Path "$($projectPath.FullName)\samples";
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (H:\code\Communi...ers\src\samples:String) [Resolve-Path], ItemNotF
   oundException
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.ResolvePathCommand

H:\code\CommunityToolkitWindows\tooling\MultiTarget\GenerateMultiTargetAwareProjectReferenceProps.ps1 : Cannot
bind argument to parameter 'projectPath' because it is an empty string.
At H:\code\CommunityToolkitWindows\tooling\MultiTarget\GenerateAllProjectReferences.ps1:26 char:82
+ ... wareProjectReferenceProps.ps1 -projectPath $sampleProjectPath -output ...
+                                                ~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidData: (:) [GenerateMultiTa...erenceProps.ps1], ParameterBindingValidationExc
   eption
    + FullyQualifiedErrorId : ParameterArgumentValidationErrorEmptyStringNotAllowed,GenerateMultiTargetAwareProje
   ctReferenceProps.ps1

H:\code\CommunityToolkitWindows\tooling\MultiTarget\GenerateMultiTargetAwareProjectReferenceProps.ps1 : Cannot
bind argument to parameter 'projectPath' because it is an empty string.
At H:\code\CommunityToolkitWindows\tooling\MultiTarget\GenerateAllProjectReferences.ps1:29 char:82
+ ... etAwareProjectReferenceProps.ps1 -projectPath $srcProjectPath -output ...
+                                                   ~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidData: (:) [GenerateMultiTa...erenceProps.ps1], ParameterBindingValidationExc
   eption
    + FullyQualifiedErrorId : ParameterArgumentValidationErrorEmptyStringNotAllowed,GenerateMultiTargetAwareProje
   ctReferenceProps.ps1

Resolve-Path : Cannot find path 'H:\code\CommunityToolkitWindows\components\Converters\tests\src' because it does
not exist.
At H:\code\CommunityToolkitWindows\tooling\MultiTarget\GenerateAllProjectReferences.ps1:18 char:14
+   $srcPath = Resolve-Path "$($projectPath.FullName)\src";
+              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (H:\code\Communi...rters\tests\src:String) [Resolve-Path], ItemNotF
   oundException
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.ResolvePathCommand

Resolve-Path : Cannot find path 'H:\code\CommunityToolkitWindows\components\Converters\tests\samples' because it
does not exist.
At H:\code\CommunityToolkitWindows\tooling\MultiTarget\GenerateAllProjectReferences.ps1:21 char:17
+   $samplePath = Resolve-Path "$($projectPath.FullName)\samples";
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (H:\code\Communi...s\tests\samples:String) [Resolve-Path], ItemNotF
   oundException
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.ResolvePathCommand

H:\code\CommunityToolkitWindows\tooling\MultiTarget\GenerateMultiTargetAwareProjectReferenceProps.ps1 : Cannot
bind argument to parameter 'projectPath' because it is an empty string.
At H:\code\CommunityToolkitWindows\tooling\MultiTarget\GenerateAllProjectReferences.ps1:26 char:82
+ ... wareProjectReferenceProps.ps1 -projectPath $sampleProjectPath -output ...
+                                                ~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidData: (:) [GenerateMultiTa...erenceProps.ps1], ParameterBindingValidationExc
   eption
    + FullyQualifiedErrorId : ParameterArgumentValidationErrorEmptyStringNotAllowed,GenerateMultiTargetAwareProje
   ctReferenceProps.ps1

H:\code\CommunityToolkitWindows\tooling\MultiTarget\GenerateMultiTargetAwareProjectReferenceProps.ps1 : Cannot
bind argument to parameter 'projectPath' because it is an empty string.
At H:\code\CommunityToolkitWindows\tooling\MultiTarget\GenerateAllProjectReferences.ps1:29 char:82
+ ... etAwareProjectReferenceProps.ps1 -projectPath $srcProjectPath -output ...
+                                                   ~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidData: (:) [GenerateMultiTa...erenceProps.ps1], ParameterBindingValidationExc
   eption
    + FullyQualifiedErrorId : ParameterArgumentValidationErrorEmptyStringNotAllowed,GenerateMultiTargetAwareProje
   ctReferenceProps.ps1

@Arlodotexe
Copy link
Member

@michael-hawker
Copy link
Member Author

Current error from SG should be resolved once it gets fixed as part of CommunityToolkit/Tooling-Windows-Submodule#31

@Arlodotexe
Copy link
Member

Arlodotexe commented Mar 21, 2023

We've reverted the fix that would have allowed closing this off early by postponing WASM support, due to time constraints and delays caused by newly discovered bugs. Details are all here - CommunityToolkit/Tooling-Windows-Submodule#32 (comment)

We need to close this off very soon as it's blocking us from porting other components. The above in mind, we'll add WASM back and support Uno proper for this first component.

@michael-hawker michael-hawker self-assigned this Mar 21, 2023
michael-hawker and others added 5 commits March 21, 2023 15:19
- Updated to `CommunityToolkit.WinUI.Converters` namespace
- Changed `FormatStringConverter` to `IFormattableToStringConverter` to differentiate from `StringFormatConverter` (too confusing to have such a similar name)
- Merged differences between UWP and WinAppSDK branches of main toolkit, _have proper updates from both_
- Imported original monolith doc from our doc repo as a starting point, converted one sample as a starting point for `StringFormatConverter`
- Brought over existing unit tests from main repo (**did not** compare or merge with WinUI branch **nor** update to use our helpers), but passing for UWP and WASDK
- Found platform gap for ColorToDisplayNameConverter, see microsoft/microsoft-ui-xaml#8287
@michael-hawker michael-hawker marked this pull request as ready for review March 21, 2023 22:22
@michael-hawker
Copy link
Member Author

Cleaned up the commits, rebased on the latest tooling, and compared against the latest Uno fork.

Only differences for Uno are in the Color and Resource converters (basically similarly due to the changes there for Windows App SDK).

Will see if we get a clean build and/or still hit the .NET Native issue or something I missed, though I don't see any Uno warnings locally.

@michael-hawker michael-hawker added this pull request to the merge queue Mar 22, 2023
@michael-hawker michael-hawker merged commit 8e12b84 into main Mar 22, 2023
@delete-merged-branch delete-merged-branch bot deleted the readme-build branch March 22, 2023 03:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants