A modern, high-performance lexical analysis and parsing system with comprehensive PCRE2 support and CognitiveGraph integration
This repository contains two NuGet packages:
# Build packages using the included script
./build-packages.sh
# Or build manually
dotnet build --configuration Release
# Clean previous builds
dotnet clean --configuration Release
# Build Release (auto-generates packages)
dotnet build --configuration Release
# Find generated packages
find . -name "*.nupkg"
# Build and copy to specific directory
./build-packages.sh --output-dir ./packages
# Add packages from local build output
dotnet add package DevelApp.StepLexer --source ./src/DevelApp.StepLexer/bin/Release
dotnet add package DevelApp.StepParser --source ./src/DevelApp.StepParser/bin/Release
# Create and configure local package source
mkdir -p ~/my-nuget-packages
dotnet nuget add source ~/my-nuget-packages --name "Local"
# Copy packages to local source
cp ./src/DevelApp.StepLexer/bin/Release/*.nupkg ~/my-nuget-packages/
cp ./src/DevelApp.StepParser/bin/Release/*.nupkg ~/my-nuget-packages/
# Install from local source
dotnet add package DevelApp.StepLexer --source "Local"
dotnet add package DevelApp.StepParser --source "Local"
The repository uses a split CI/CD pipeline approach to ensure clean release package naming:
1.0.1-ci0004)1.0.1-beta.42)1.0.1-alpha.15)https://nuget.pkg.github.com/DevelApp-ai/index.jsonDevelApp.StepParser.1.0.1.nupkg)increment field in GitVersion.yml determines how versions increment (Minor by default)GitVersion automatically calculates versions based on:
v1.0.1)GitVersion.yml)No manual version updates needed! Just merge to main and GitVersion handles the rest.
With increment: Minor on main branch:
1.0.1 → 1.1.0 → 1.2.0 → …To change increment behavior, edit GitVersion.yml:
branches:
main:
increment: Minor # Options: Major, Minor, Patch, None
Create a new tag manually:
git tag v2.0.0
git push --tags
Then GitVersion will base future versions on this tag.
1.1.0-ci0004)1.1.0-beta.42)1.1.0-alpha.15)sed 's/-.*$//' to remove suffixes1.1.0 for NuGet.org while providing appropriate pre-release versions for development workflowssrc/
├── DevelApp.StepLexer/ # Core lexer package
│ ├── bin/Release/ # Generated packages here
│ └── DevelApp.StepLexer.csproj
├── DevelApp.StepParser/ # Core parser package
│ ├── bin/Release/ # Generated packages here
│ └── DevelApp.StepParser.csproj
├── DevelApp.StepLexer.Tests/ # Lexer tests
├── DevelApp.StepParser.Tests/ # Parser tests
└── ENFAStepLexer.Demo/ # Demo application
dotnet build --configuration ReleaseGeneratePackageOnBuild is enabled for Release buildsdotnet restore before buildingdotnet run --project src/ENFAStepLexer.Demo to test functionality