Skip to content

Project restructure#178

Merged
rickbutterfield merged 8 commits intov4/devfrom
v4/feature/project-restructure
Nov 20, 2025
Merged

Project restructure#178
rickbutterfield merged 8 commits intov4/devfrom
v4/feature/project-restructure

Conversation

@rickbutterfield
Copy link
Copy Markdown
Owner

This pull request introduces significant improvements to the project structure, centralizes package management, and updates build configuration for better maintainability and compatibility. The main changes include reorganizing the solution layout, introducing central props and package configuration files, updating NuGet sources, and refining project references and build settings.

Project and Solution Structure

  • The solution file Umbraco.Community.BlockPreview.sln has been reorganized to reflect a more modular structure, moving projects into src/, examples/, and tools/ directories, and adding solution folders for "Examples" and "Tools". Common files like .gitignore, Directory.Build.props, Directory.Packages.props, and NuGet.config are now tracked as solution items for easier access and management. [1] [2] [3]

Centralized Build and Package Management

  • Added Directory.Build.props and Directory.Packages.props to enable centralized management of target frameworks, authorship, license, and package versions, including Umbraco and third-party dependencies. These files also configure strictness and validation for package builds and reference version ranges. [1] [2]

NuGet Source Configuration

  • Introduced a new NuGet.config that defines and maps package sources for NuGet.org and Umbraco prerelease/nightly feeds, ensuring packages are resolved from the correct sources.

Test Site Project Updates

  • The test site project (Umbraco.Community.BlockPreview.TestSite.csproj) is updated to match the new structure, disables packing and package validation, uses VersionOverride for package references, and imports the necessary build targets for transitive dependencies. The project reference path is updated to point to the new location.

Version File Removal

  • The legacy VERSION file has been removed, likely in favor of the new versioning approach managed via props and version.json.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR restructures the solution to improve maintainability through centralized package management and a more organized directory layout. Projects are moved into dedicated src/, examples/, and tools/ folders, and centralized configuration files (Directory.Build.props, Directory.Packages.props, and NuGet.config) are introduced to manage versioning, dependencies, and build settings across the solution.

  • Solution-wide build and package management via Directory.Build.props and Directory.Packages.props
  • Centralized NuGet source configuration with package source mapping
  • Project references updated to reflect new directory structure

Reviewed Changes

Copilot reviewed 11 out of 442 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
Umbraco.Community.BlockPreview.sln Reorganized solution with new folder structure, added solution items for config files
Directory.Build.props Centralized build properties including target framework, authorship, and package validation settings
Directory.Packages.props Centralized package version management with version ranges for Umbraco and third-party dependencies
NuGet.config Defined package sources and source mapping for NuGet.org and Umbraco feeds
Umbraco.Community.BlockPreview.TestSite.csproj Updated to use centralized versioning, disabled packing, and adjusted project references
VERSION Removed legacy version file in favor of version.json
*.config (uSync) Updated test site content with serialized Umbraco block data
oneColumnSectionBlock.cshtml Added Razor view for rendering one-column section blocks

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread Directory.Packages.props Outdated
Comment thread Directory.Packages.props
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Copilot reviewed 11 out of 442 changed files in this pull request and generated 1 comment.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

…nity.BlockPreview.TestSite.csproj

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Copilot reviewed 11 out of 442 changed files in this pull request and generated 1 comment.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Copilot reviewed 13 out of 465 changed files in this pull request and generated 1 comment.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

- Added `launchUrl` property to `launchSettings.json` for IIS Express.
- Updated `heroBlock.cshtml` to display `Height` and apply dynamic styles.
- Refactored `BlockPreviewService.cs` to:
  - Add support for `BlockGrid` and `BlockList` property editors.
  - Ensure mutually exclusive conditions for editor alias handling.
  - Add fallback handling for `JsonObject` serialization.
- Improved code maintainability and extended functionality.
@rickbutterfield rickbutterfield merged commit 6ad6579 into v4/dev Nov 20, 2025
1 check passed
@rickbutterfield rickbutterfield deleted the v4/feature/project-restructure branch November 20, 2025 11:57
@sonarqubecloud
Copy link
Copy Markdown

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.

2 participants