Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/build_dynamo_all.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
- name: Install dependencies for windows runtime
run: dotnet restore ${{ github.workspace }}\Dynamo\src\Dynamo.All.sln --runtime=win-x64 -p:Configuration=Release -p:DotNet=net10.0
- name: Build Dynamo with MSBuild for Windows
run: msbuild ${{ github.workspace }}\Dynamo\src\Dynamo.All.sln /p:Configuration=Release /warnAsError:RS0016,RS0017 /p:PublicApiAnalyzers=true
run: msbuild ${{ github.workspace }}\Dynamo\src\Dynamo.All.sln /p:Configuration=Release /p:RegenerateAssemblyInfo=true /warnAsError:RS0016,RS0017 /p:PublicApiAnalyzers=true
- name: Look for DynamoCLI.exe
run: |
Write-Output "***Locating DynamoCLI.exe!***"
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/build_dynamo_core.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
- name: Install dependencies for windows runtime
run: dotnet restore ${{ github.workspace }}\Dynamo\src\DynamoCore.sln --runtime=win-x64 -p:Configuration=Release -p:DotNet=net10.0
- name: Build DynamoCore with MSBuild for Windows
run: msbuild ${{ github.workspace }}\Dynamo\src\DynamoCore.sln /p:Configuration=Release
run: msbuild ${{ github.workspace }}\Dynamo\src\DynamoCore.sln /p:Configuration=Release /p:RegenerateAssemblyInfo=true
- name: Look for DynamoCLI.exe
run: |
Write-Output "***Locating DynamoCLI.exe!***"
Expand Down Expand Up @@ -58,7 +58,7 @@ jobs:
- name: Install dependencies for linux runtime
run: dotnet restore ${{ github.workspace }}\Dynamo\src\DynamoCore.sln --runtime=linux-x64 -p:Configuration=Release -p:Platform=NET_Linux -p:DotNet=net10.0
- name: Build DynamoCore with MSBuild for Linux
run: dotnet build ${{ github.workspace }}\Dynamo\src\DynamoCore.sln -c Release /p:Platform=NET_Linux
run: dotnet build ${{ github.workspace }}\Dynamo\src\DynamoCore.sln -c Release /p:Platform=NET_Linux /p:RegenerateAssemblyInfo=true
- name: Look for DynamoCLI
run: |
Write-Output "***Locating DynamoCLI for Linux!***"
Expand All @@ -85,7 +85,7 @@ jobs:
- name: Install dependencies for linux runtime
run: dotnet restore ${{ github.workspace }}/Dynamo/src/DynamoCore.sln --runtime=linux-x64 -p:Configuration=Release -p:Platform=NET_Linux -p:DotNet=net10.0
- name: Build DynamoCore with dotnet for Linux
run: dotnet build ${{ github.workspace }}/Dynamo/src/DynamoCore.sln -c Release /p:Platform=NET_Linux
run: dotnet build ${{ github.workspace }}/Dynamo/src/DynamoCore.sln -c Release /p:Platform=NET_Linux /p:RegenerateAssemblyInfo=true
- name: Look for DynamoCLI.exe
run: |
echo "***Locating DynamoCLI for Linux!***"
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/dynamo_bin_diff.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ jobs:
- name: Install dependencies for windows runtime
run: dotnet restore ${{ github.workspace }}\Dynamo\src\Dynamo.All.sln -p:Configuration=Release --runtime=win-x64 -p:DotNet=net10.0
- name: Build Dynamo with MSBuild
run: msbuild ${{ github.workspace }}\Dynamo\src\Dynamo.All.sln /p:Configuration=Release
run: msbuild ${{ github.workspace }}\Dynamo\src\Dynamo.All.sln /p:Configuration=Release /p:RegenerateAssemblyInfo=true
- name: Look for DynamoCLI.exe
run: |
Write-Output "***Locating DynamoCLI.exe!***"
Expand Down Expand Up @@ -67,7 +67,7 @@ jobs:
- name: Install dependencies for windows runtime
run: dotnet restore ${{ github.workspace }}\master\src\Dynamo.All.sln -p:Configuration=Release --runtime=win-x64 -p:DotNet=net10.0
- name: Build Dynamo with MSBuild
run: msbuild ${{ github.workspace }}\master\src\Dynamo.All.sln /p:Configuration=Release
run: msbuild ${{ github.workspace }}\master\src\Dynamo.All.sln /p:Configuration=Release /p:RegenerateAssemblyInfo=true
- name: Look for DynamoCLI.exe
run: |
Write-Output "***Locating DynamoCLI.exe!***"
Expand Down
17 changes: 17 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,23 @@ If you are working on legacy branches, you may need to install legacy .NET Frame
The Dynamo user interface is Windows-only, but the Dynamo engine can be built for other platforms. [Directions for building Dynamo on Linux or OS X can be found here](https://github.com/DynamoDS/Dynamo/wiki/Dynamo-on-Linux,-Mac).
Find more about how to build Dynamo at our [wiki](https://github.com/DynamoDS/Dynamo/wiki) and [Dynamo Developer Resources](https://developer.dynamobim.org/).

#### Incremental Builds

To enable faster incremental builds during local development, assembly version information is not automatically regenerated on every build. This prevents unnecessary rebuilds of all projects.

If you need to generate a new version number (e.g., for official builds or releases), pass the `RegenerateAssemblyInfo=true` property:

```bash
# For Windows with MSBuild
msbuild src\Dynamo.All.sln /p:Configuration=Release /p:RegenerateAssemblyInfo=true

# For Linux/Mac with dotnet
dotnet build src/DynamoCore.sln -c Release /p:RegenerateAssemblyInfo=true
```

CI builds automatically regenerate version information with timestamps.


### Create a Node Library for Dynamo

If you're interested in developing a Node library for Dynamo, the easiest place to start is by browsing the [DynamoSamples](https://github.com/DynamoDS/DynamoSamples).
Expand Down
7 changes: 6 additions & 1 deletion src/AssemblySharedInfoGenerator/AssemblyInfoGenerator.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,14 @@
<DependentUpon>AssemblySharedInfo.tt</DependentUpon>
</Compile>
</ItemGroup>
<PropertyGroup>
<!-- By default, do not regenerate AssemblySharedInfo.cs to enable incremental builds.
Set RegenerateAssemblyInfo=true (e.g., in CI builds) to regenerate with current timestamp. -->
<RegenerateAssemblyInfo Condition="'$(RegenerateAssemblyInfo)' == ''">false</RegenerateAssemblyInfo>
</PropertyGroup>
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
<Import Condition="Exists('$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TextTemplating\Microsoft.TextTemplating.targets')" Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TextTemplating\Microsoft.TextTemplating.targets" />
<Target Condition="Exists('$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TextTemplating\Microsoft.TextTemplating.targets')" Name="T4TemplateGen" BeforeTargets="Build">
<Target Condition="'$(RegenerateAssemblyInfo)' == 'true' AND Exists('$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TextTemplating\Microsoft.TextTemplating.targets')" Name="T4TemplateGen" BeforeTargets="Build">
<CallTarget Targets="TransformAll" />
<Message Importance="high" Text="Running Template Generator for AssemblyInfoProperties" />
</Target>
Expand Down
Loading