]> gitweb.michael.orlitzky.com - email-validator.git/blobdiff - email-validator.cabal
Bump the version to 0.0.2.
[email-validator.git] / email-validator.cabal
index 6bd5caf977c1cdbf6630c772acddae44613f6084..d86f246945edec2a99e4655001c51ce44ee68cb0 100644 (file)
@@ -1,24 +1,64 @@
 name:           email-validator
-version:        0.0.1
+version:        0.0.2
 cabal-version:  >= 1.8
 author:         Michael Orlitzky
 maintainer:    Michael Orlitzky <michael@orlitzky.com>
+category:       Utils
+license:        GPL-3
+license-file:   doc/LICENSE
+build-type:     Simple
+extra-source-files:
+  doc/man1/email-validator.1
 synopsis:
   Perform basic syntax and deliverability checks on email addresses.
-build-type:     Simple
+description:
+  Validate an email address using three techniques:
+  .
+    * Ensuring that the length of local and domain parts is within the
+      RFC-specified limits.
+  .
+    * A syntax check using a regular expression, or the full RFC 5322
+      grammar (see the @--rfc5322@ option).
+  .
+    * Confirmation of the existence of an @MX@ record for the domain part of
+      the address. This is not required; in fact many domains accept mail
+      via an @A@ record for e.g. example.com which is used in lieu of an @MX@
+      record. This behavior can be controlled via the @--accept-a@ flag.
+  .
+  These checks are performed in parallel using the number of available
+  threads. To increase the number of threads, you can pass the
+  appropriate flag to the GHC runtime.
+  .
+  This will set the number of threads to 25:
+  .
+  @
+  $ email-validator -i addresses.csv +RTS -N25
+  @
+  .
+  /Input/
+  .
+  The @input@ file (default: stdin) should be a list of email addresses,
+  one per line. Empty lines will be ignored.
+  .
+  /Output/
+  .
+  Valid email addresses will be written to the output file (default:
+  stdout), one per line.
 
 
-executable email_validator
+executable email-validator
   build-depends:
     base                        == 4.*,
-    dns                         == 0.3.*,
+    bytestring                  == 0.10.*,
+    cmdargs                     == 0.10.*,
+    directory                   == 1.2.*,
+    dns                         == 1.*,
+    email-validate              == 1.*,
     HUnit                       == 1.2.*,
-    QuickCheck                  == 2.6.*,
-    regex-pcre                  == 0.94.*,
+    parallel-io                 == 0.3.*,
+    pcre-light                  >= 0.4,
     test-framework              == 0.8.*,
-    test-framework-hunit        == 0.3.*,
-    test-framework-quickcheck2  == 0.3.*,
-    utf8-string                 == 0.3.*
+    test-framework-hunit        == 0.3.*
 
   main-is:
     Main.hs
@@ -26,6 +66,11 @@ executable email_validator
   hs-source-dirs:
     src/
 
+  other-modules:
+    CommandLine
+    EmailAddress
+    ExitCodes
+
   ghc-options:
     -Wall
     -fwarn-hi-shadowing
@@ -37,9 +82,6 @@ executable email_validator
     -fwarn-incomplete-record-updates
     -fwarn-monomorphism-restriction
     -fwarn-unused-do-bind
-    -funbox-strict-fields
-    -fexcess-precision
-    -fno-spec-constr-count
     -rtsopts
     -threaded
     -optc-O3
@@ -58,14 +100,16 @@ test-suite testsuite
   main-is: TestSuite.hs
   build-depends:
     base                        == 4.*,
-    dns                         == 0.3.*,
+    bytestring                  == 0.10.*,
+    cmdargs                     == 0.10.*,
+    directory                   == 1.2.*,
+    dns                         == 1.*,
+    email-validate              == 1.*,
     HUnit                       == 1.2.*,
-    QuickCheck                  == 2.6.*,
-    regex-pcre                  == 0.94.*,
+    parallel-io                 == 0.3.*,
+    pcre-light                  >= 0.4,
     test-framework              == 0.8.*,
-    test-framework-hunit        == 0.3.*,
-    test-framework-quickcheck2  == 0.3.*,
-    utf8-string                 == 0.3.*
+    test-framework-hunit        == 0.3.*
 
   -- It's not entirely clear to me why I have to reproduce all of this.
   ghc-options:
@@ -79,9 +123,6 @@ test-suite testsuite
     -fwarn-incomplete-record-updates
     -fwarn-monomorphism-restriction
     -fwarn-unused-do-bind
-    -funbox-strict-fields
-    -fexcess-precision
-    -fno-spec-constr-count
     -rtsopts
     -threaded
     -optc-O3