icalendar 0.17.6

Strongly typed iCalendar builder and parser.
Documentation
# Default recipe - show available recipes
default:
    @just --list

# Run all checks (similar to full CI)
ci: install-deps check check-all-features check-examples check-minimal-versions test-all-features fmt clippy deny

install-deps:
    @cargo install cargo-semver-checks

# Check with default features
check:
    cargo check

# Check with all features
check-all-features:
    cargo check --all-features
    cargo check --features strict-dates

# Check that all examples build with various feature combinations
check-examples:
    cargo check --examples --all-features
    cargo check --examples --no-default-features
    cargo check --examples --no-default-features --features parser

# Check with beta toolchain
check-beta:
    cargo +beta check
    cargo +beta check --all-features

# Check minimal versions (requires nightly)
check-minimal-versions:
    cargo +nightly update -Z minimal-versions
    cargo +nightly check
    cargo +nightly check --all-features

# Run all tests (default features)
test:
    cargo test

# Run tests with all feature combinations from CI matrix
test-all-features:
    cargo test --no-default-features
    cargo test --no-default-features --features parser
    cargo test --no-default-features --features "parser,strict-dates"
    cargo test --no-default-features --features "parser,serde_json"
    cargo test --no-default-features --features "parser,chrono-tz"
    cargo test --no-default-features --features "parser,time"
    cargo test --no-default-features --features chrono-tz
    cargo test --no-default-features --features time
    cargo test --no-default-features --features "parser,serde_json,chrono-tz,time"

# Run tests with parser feature
test-parser:
    cargo test --features parser

# Run tests with chrono-tz feature
test-tz:
    cargo test --features chrono-tz

# Run all test variants (includes feature matrix)
test-all: test test-all-features test-parser test-tz

# Format check
fmt:
    cargo fmt --all --check

# Format code
fmt-fix:
    cargo fmt --all

# Run clippy
clippy:
    cargo clippy --workspace --all-targets --all-features -- -D warnings

# Run clippy and fix issues automatically
clippy-fix:
    cargo clippy --workspace --all-targets --all-features --fix

# Run cargo-deny checks
deny:
    cargo deny check advisories
    cargo deny check bans licenses sources

# Run only advisory checks
deny-advisories:
    cargo deny check advisories

# Run bans, licenses, and sources checks
deny-bls:
    cargo deny check bans licenses sources

# Clean build artifacts
clean:
    cargo clean

# Build the project
build:
    cargo build

# Build with all features
build-all:
    cargo build --all-features

# Build release version
build-release:
    cargo build --release