Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
f3adfae
Apply core JASS library rewrite from vjass branch
Drake53 Nov 1, 2025
01027f2
Apply War3Net.CodeAnalysis changes from vjass branch
Drake53 Nov 1, 2025
954314f
Add FunctionDeclarationParser and update test helpers
Drake53 Nov 1, 2025
69018e7
Update JassToCSharpTranspiler and JassToLuaTranspiler to use new JASS…
Drake53 Nov 8, 2025
af58f4b
Fix JassToLuaTranspiler.
Drake53 Nov 8, 2025
f2065f3
Fix DebugStatementParser incorrectly trying to parse trailing trivia …
Drake53 Nov 11, 2025
998b647
Add ToFullString() methods which include trivia.
Drake53 Nov 11, 2025
a5d4447
Add some JASS extension methods for convenience.
Drake53 Nov 11, 2025
357c29d
Support trivia in JassToCSharpTranspiler.
Drake53 Nov 16, 2025
a321676
Add JassToCSharpTranspilerTests.
Drake53 Nov 16, 2025
3aa605a
Rework MapScriptBuilder to output strings directly instead of using s…
Drake53 Jan 18, 2026
f06c21a
JassTypeDeclarationSyntax bugfix.
Drake53 Jan 18, 2026
668c0cd
Fix DiffAssert failing without showing any changed lines.
Drake53 Jan 18, 2026
f327f19
Add DiffAssert.ContextLines to improve readability.
Drake53 Jan 18, 2026
3e9d997
Update MapScriptBuilderTests.
Drake53 Jan 22, 2026
f0a28cf
MapScriptBuilder fixes.
Drake53 Jan 22, 2026
6ea1ae5
Update JassScriptDecompiler to use new JASS syntax classes.
Drake53 Jan 24, 2026
1aa1c64
Fix comment decompilation.
Drake53 Jan 24, 2026
737f42e
JassScriptDecompiler fixes.
Drake53 Jan 24, 2026
2711753
Update tests.
Drake53 Jan 24, 2026
750ef98
Rename Newline -> NewLine for consistency with system libraries.
Drake53 Jan 24, 2026
95c3a11
WIP migration guide.
Drake53 Jan 24, 2026
60f06ba
Fixes.
Drake53 Jan 24, 2026
ad4c119
Parse 0 as decimal number (not octal).
Drake53 Jan 24, 2026
addf14f
Update dotnet build command in build script.
Drake53 Jan 25, 2026
8882cc0
Fix?
Drake53 Jan 25, 2026
17b7abc
Make MapScriptBuilder.GenerateGlobals public to replace removed Api m…
Drake53 Jan 25, 2026
6f97675
Delete unused method.
Drake53 Jan 25, 2026
aa78860
Update exception message to match changed JassSyntaxFacts.IsWhitespac…
Drake53 Jan 25, 2026
fad80e6
Rename methods to match syntax kinds.
Drake53 Jan 25, 2026
eb24d74
MapInfo JSON serialization bugfix.
Drake53 Jan 25, 2026
0c22b06
Add TriggerConditionConstants.
Drake53 Jan 25, 2026
1858cd4
Add W3MathF class.
Drake53 Jan 25, 2026
99d7049
Centralize parse methods in JassLiteral to prevent inconsistent and i…
Drake53 Jan 25, 2026
344f1a8
Add missing MapScriptBuilder tests.
Drake53 Jan 25, 2026
8a1c047
Fix nameof -> GeneratedFunctionName.
Drake53 Jan 25, 2026
0f0453a
Prefer checking expression's syntax kind.
Drake53 Jan 25, 2026
de426b2
Fix syntax kind validation.
Drake53 Jan 25, 2026
93001b0
Improve exception message.
Drake53 Jan 25, 2026
a7d9d23
Central package management fix.
Drake53 Jan 25, 2026
3bc13a9
Update CSharpLua submodule.
Drake53 Jan 25, 2026
d4d3920
Update PolyglotJassToLuaTranspiler.
Drake53 Jan 25, 2026
b3f309b
Bugfix transpile array to lua.
Drake53 Jan 25, 2026
77d5c3f
Update CSharpLua submodule.
Drake53 Jan 25, 2026
d114093
Fix build errors.
Drake53 Jan 25, 2026
f40ad61
Add JassSyntaxKind to migration guide.
Drake53 Jan 25, 2026
3571e32
Update versions to 6.0.0
Drake53 Jan 25, 2026
51abd6c
Fix SetProjectVersionsFromCentralPackageManagement target.
Drake53 Jan 25, 2026
76bf8f4
Split target.
Drake53 Jan 25, 2026
c833704
Fix.
Drake53 Jan 25, 2026
f833546
Revert directory rename to make it easier to review changes.
Drake53 Jan 25, 2026
d323fa6
Document the most important changes in the changelogs for War3Net.Bui…
Drake53 Jan 25, 2026
79cedf7
Document additional breaking changes.
Drake53 Jan 25, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
10 changes: 5 additions & 5 deletions .github/scripts/build-and-pack-nuget.sh
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@ can_build_project() {
# Get the dependencies - dotnet list outputs them with paths like ..\ProjectName\ProjectName.csproj
# We need to extract just the project name from the filename
local deps=$(dotnet list "$project" reference 2>/dev/null | grep '\.csproj$' | while read -r line; do
# Remove everything up to the last backslash, then remove .csproj extension
echo "$line" | sed 's/.*\\//' | sed 's/\.csproj$//'
# Remove everything up to the last slash (forward or back), then remove .csproj extension
echo "$line" | sed 's/.*[\\\/]//' | sed 's/\.csproj$//'
done | tr '\n' ' ')

for dep in $deps; do
Expand Down Expand Up @@ -72,7 +72,7 @@ while [ -n "$REMAINING_PROJECTS" ] && [ $ITERATION -lt $MAX_ITERATIONS ]; do
echo "$STILL_REMAINING" | tr ';' '\n' | while read -r p; do
if [ -n "$p" ]; then
echo " - $(basename $(dirname "$p"))"
echo " Dependencies: $(dotnet list "$p" reference 2>/dev/null | grep -E "^\s+.*\.csproj" | sed 's/.*\///' | sed 's/\.csproj.*//' | tr '\n' ' ')"
echo " Dependencies: $(dotnet list "$p" reference 2>/dev/null | grep -E "^\s+.*\.csproj" | sed 's/.*[\\\/]//' | sed 's/\.csproj.*//' | tr '\n' ' ')"
fi
done
echo "Already built: $BUILT_PROJECTS"
Expand Down Expand Up @@ -159,10 +159,10 @@ while [ -n "$REMAINING_PROJECTS" ] && [ $ITERATION -lt $MAX_ITERATIONS ]; do
dotnet restore "$project" -p:Configuration=Release --verbosity minimal --force --no-cache

# Build the project
dotnet build "$project" --configuration Release --no-restore --verbosity minimal
dotnet build "$project" -p:PACK=true -p:WarningLevel=0 -p:RunAnalyzers=false -p:SuppressTfmSupportBuildWarnings=true --configuration Release --no-restore --verbosity minimal

# Pack directly to artifacts with project name folder structure for proper NuGet feed
dotnet pack "$project" --configuration Release --no-build --output "./artifacts/${PROJECT_NAME}" -p:PACK=true --verbosity minimal
dotnet pack "$project" -p:PACK=true --configuration Release --no-build --output "./artifacts/${PROJECT_NAME}" --verbosity minimal
fi

BUILT_PROJECTS="${BUILT_PROJECTS}${PROJECT_NAME};"
Expand Down
2 changes: 1 addition & 1 deletion Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
</PackageReference>
</ItemGroup>
<ItemGroup Condition="'$(PACK)'=='true'">
<SourceRoot Include="$(MSBuildThisFileDirectory)/"/>
<SourceRoot Include="$(MSBuildThisFileDirectory)/" />
</ItemGroup>
<ItemGroup Condition="'$(PACK)'!='true'">
<Content Include="$(MSBuildThisFileDirectory)LICENSE" Visible="false">
Expand Down
28 changes: 15 additions & 13 deletions Directory.Packages.props
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,14 @@
</PropertyGroup>
<ItemGroup>
<PackageVersion Include="BenchmarkDotNet" Version="0.13.2" />
<PackageVersion Include="DiffPlex" Version="1.7.0" />
<PackageVersion Include="DotNetZip" Version="1.16.0" />
<PackageVersion Include="JpegLibrary" Version="0.3.30" />
<PackageVersion Include="MessagePack" Version="2.2.60" />
<PackageVersion Include="MessagePackAnalyzer" Version="2.2.60" />
<PackageVersion Include="Microsoft.Bcl.HashCode" Version="1.1.1" />
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="16.11.0" />
<PackageVersion Include="Microsoft.SourceLink.GitHub" Version="1.0.0" />
<PackageVersion Include="MSTest.TestAdapter" Version="2.2.10" />
<PackageVersion Include="MSTest.TestFramework" Version="2.2.10" />
<PackageVersion Include="NAudio" Version="1.10.0" />
Expand All @@ -30,21 +32,21 @@
<PackageVersion Include="Veldrid.StartupUtilities" Version="4.8.0" />
<PackageVersion Include="Veldrid.Utilities" Version="4.8.0" />
<PackageVersion Include="War3Api.Object" Version="1.31.1-rc.11" />
<PackageVersion Include="War3Net.Build" Version="5.8.2" />
<PackageVersion Include="War3Net.Build.Core" Version="5.8.2" />
<PackageVersion Include="War3Net.CodeAnalysis" Version="5.8.0" />
<PackageVersion Include="War3Net.CodeAnalysis.Decompilers" Version="5.8.2" />
<PackageVersion Include="War3Net.CodeAnalysis.Jass" Version="5.8.0" />
<PackageVersion Include="War3Net.CodeAnalysis.Transpilers" Version="5.8.0" />
<PackageVersion Include="War3Net.Build" Version="6.0.0" />
<PackageVersion Include="War3Net.Build.Core" Version="6.0.0" />
<PackageVersion Include="War3Net.CodeAnalysis" Version="6.0.0" />
<PackageVersion Include="War3Net.CodeAnalysis.Decompilers" Version="6.0.0" />
<PackageVersion Include="War3Net.CodeAnalysis.Jass" Version="6.0.0" />
<PackageVersion Include="War3Net.CodeAnalysis.Transpilers" Version="6.0.0" />
<PackageVersion Include="War3Net.CodeAnalysis.VJass" Version="0.1.0" />
<PackageVersion Include="War3Net.Common" Version="5.8.0" />
<PackageVersion Include="War3Net.CSharpLua" Version="2.0.1" />
<PackageVersion Include="War3Net.CSharpLua.CoreSystem" Version="2.0.1" />
<PackageVersion Include="War3Net.Drawing.Blp" Version="5.9.0" />
<PackageVersion Include="War3Net.Common" Version="6.0.0" />
<PackageVersion Include="War3Net.CSharpLua" Version="2.0.2" />
<PackageVersion Include="War3Net.CSharpLua.CoreSystem" Version="2.0.2" />
<PackageVersion Include="War3Net.Drawing.Blp" Version="6.0.0" />
<PackageVersion Include="War3Net.IO.Casc" Version="0.1.0" />
<PackageVersion Include="War3Net.IO.Compression" Version="5.8.0" />
<PackageVersion Include="War3Net.IO.Mpq" Version="5.8.1" />
<PackageVersion Include="War3Net.IO.Slk" Version="5.8.1" />
<PackageVersion Include="War3Net.IO.Compression" Version="6.0.0" />
<PackageVersion Include="War3Net.IO.Mpq" Version="6.0.0" />
<PackageVersion Include="War3Net.IO.Slk" Version="6.0.0" />
<PackageVersion Include="War3Net.Modeling" Version="0.1.0" />
</ItemGroup>
</Project>
2 changes: 1 addition & 1 deletion NuGet.config
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@
<package pattern="DotNetZip" />
<package pattern="ICSharpCode.Decompiler" />
<package pattern="JpegLibrary" />
<package pattern="Pidgin" />
<package pattern="NETStandard.Library" />
<package pattern="Newtonsoft.Json" />
<package pattern="Pidgin" />
<package pattern="runtime.native.System" />
<package pattern="StyleCop.Analyzers" />
<package pattern="StyleCop.Analyzers.Unstable" />
Expand Down
8 changes: 8 additions & 0 deletions docs/changelogs/War3Net.Build.Core.changelog.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# War3Net.Build.Core Changelog

## v6.0.0
### Breaking changes
- The EscapedStringProvider class has been moved to War3Net.CodeAnalysis.Jass.
### Changes
- Added W3MathF class.
### Bugfixes
- Fixed exception when deserializing MapInfo.EditorVersion as JSON string.

## v1.5.3
### Changes
- Add UseNewFormat property to MapCustomTextTriggers.
Expand Down
6 changes: 6 additions & 0 deletions docs/changelogs/War3Net.Build.changelog.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# War3Net.Build Changelog

## v6.0.0
### Breaking changes
- MapScriptBuilder methods have been renamed and now write to an IndentedTextWriter instead of returning a syntax class.
- TriggerRenderer and TriggerRendererContext now expect an IndentedTextWriter instead of JassRenderer/TextWriter.
- MapScriptBuilder's C# api methods have been removed, you can now use the GenerateGlobals methods and manually transpile to C#.

## v1.5.0
### Changes
- Support parsing and serializing .wtg files.
Expand Down
5 changes: 5 additions & 0 deletions docs/changelogs/War3Net.CodeAnalysis.Jass.changelog.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# War3Net.CodeAnalysis.Jass Changelog

## v6.0.0
### Breaking changes
- Breaking changes have been documented in [the migration guide](../guides/jass-migration-guide-v5-to-v6.md)
Loading