Skip to content

Latest commit

 

History

History
113 lines (89 loc) · 2.67 KB

File metadata and controls

113 lines (89 loc) · 2.67 KB

Publishing Checklist for rough_flutter 0.1.2

This checklist should be followed before publishing the Dart 3 migration to pub.dev.

Pre-publication Checklist

  • Code Migration Complete

    • All code migrated to Dart 3
    • Null safety fully implemented
    • All analyzer issues resolved (only 3 expected warnings remain)
  • Testing

    • All unit tests passing
    • Integration tests passing
    • Example app runs correctly
    • Widget tests passing
  • Documentation

    • README.md updated with Dart 3 information
    • CHANGELOG.md updated with version 0.1.2 details
    • MIGRATION_GUIDE.md created for users upgrading from 1.x
    • API documentation with dartdoc comments
  • Version Management

    • pubspec.yaml version updated to 0.1.2
    • Breaking changes documented in CHANGELOG.md
  • Package Validation

    • flutter pub publish --dry-run passes with expected warnings
    • Package size is reasonable (388 KB)

Publication Steps

When ready to publish:

  1. Commit all changes (optional, but recommended):

    git add .
    git commit -m "Release version 0.1.2"
    git tag v0.1.2
    git push origin master --tags
  2. Publish to pub.dev:

    flutter pub publish
  3. Post-publication:

    • Verify package appears correctly on pub.dev
    • Test installation in a new project
    • Create GitHub release with migration notes
    • Consider announcing the update (Twitter, Reddit, etc.)

Testing the Published Package

After publication, test in a new Flutter project:

flutter create test_rough_flutter
cd test_rough_flutter
flutter pub add rough_flutter

Then verify the basic example works:

import 'package:flutter/material.dart';
import 'package:rough_flutter/rough_flutter.dart';

void main() {
  runApp(MaterialApp(
    home: Scaffold(
      body: CustomPaint(
        painter: RoughPainter(),
        size: Size.infinite,
      ),
    ),
  ));
}

class RoughPainter extends CustomPainter {
  @override
  void paint(Canvas canvas, Size size) {
    final generator = Generator(
      DrawConfig.build(roughness: 2),
      HachureFiller(),
    );
    
    final circle = generator.circle(
      size.width / 2, 
      size.height / 2, 
      100,
    );
    
    canvas.drawRough(
      circle,
      Paint()..color = Colors.blue,
      Paint()..color = Colors.red,
    );
  }
  
  @override
  bool shouldRepaint(covariant CustomPainter oldDelegate) => false;
}

Support Plan

After publication:

  1. Monitor GitHub issues for migration problems
  2. Be prepared to publish 2.0.1 for any critical fixes
  3. Update documentation based on user feedback