thank-you-stars 0.2.0 → 0.3.0
raw patch · 7 files changed
+42/−44 lines, 7 files
Files
- README.md +1/−1
- app/Main.hs +6/−6
- src/Utils/ThankYouStars/GitHub.hs +9/−9
- src/Utils/ThankYouStars/Package.hs +16/−18
- test/Utils/ThankYouStars/GitHubSpec.hs +3/−3
- test/Utils/ThankYouStars/PackageSpec.hs +6/−6
- thank-you-stars.cabal +1/−1
README.md view
@@ -5,7 +5,7 @@ [](https://hackage.haskell.org/package/thank-you-stars) A tool for starring GitHub repositories. It detects dependent libraries-which are hosted on GitHub via `.cabal` file,+which are hosted on GitHub via `.cabal` files, and stars the repositories all at once. Setup
app/Main.hs view
@@ -1,12 +1,12 @@ module Main (main) where -import Utils.ThankYouStars.GitHub-import Utils.ThankYouStars.Package+import Utils.ThankYouStars.GitHub+import Utils.ThankYouStars.Package -import qualified Data.Set as S-import System.Exit ( die )-import System.Directory ( getHomeDirectory )-import System.FilePath ( joinPath )+import qualified Data.Set as S+import System.Directory (getHomeDirectory)+import System.Exit (die)+import System.FilePath (joinPath) main :: IO () main = do
src/Utils/ThankYouStars/GitHub.hs view
@@ -8,16 +8,16 @@ , starRepo ) where -import Control.Exception ( catch, throwIO )+import Control.Exception (catch, throwIO) import Data.Aeson-import Data.ByteString ( ByteString )+import Data.ByteString (ByteString) import qualified Data.ByteString.Lazy as BSL-import Data.Monoid ( (<>) )-import Data.String ( fromString )-import Data.Text.Encoding ( encodeUtf8 )-import Data.Version ( showVersion )+import Data.Monoid ((<>))+import Data.String (fromString)+import Data.Text.Encoding (encodeUtf8)+import Data.Version (showVersion) import Network.HTTP.Req-import Paths_thank_you_stars ( version )+import Paths_thank_you_stars (version) data Token = Token { unToken :: ByteString@@ -30,8 +30,8 @@ readToken fp = eitherDecode <$> BSL.readFile fp data GitHubRepo = GitHubRepo {- owner :: String- , repo :: String+ owner :: String+ , repo :: String } deriving ( Eq, Ord ) instance Show GitHubRepo where
src/Utils/ThankYouStars/Package.hs view
@@ -5,28 +5,25 @@ , readStackIndex ) where -import Utils.ThankYouStars.GitHub+import Utils.ThankYouStars.GitHub -import Data.List ( isInfixOf, isPrefixOf )-import Data.List.Split ( splitOneOf )+import Data.List (isInfixOf, isPrefixOf)+import Data.List.Split (splitOneOf) import qualified Data.Map as M-import qualified Data.Set as S import Data.Maybe-import Distribution.Hackage.DB ( Hackage, readHackage' )+import qualified Data.Set as S+import Distribution.Hackage.DB (Hackage, readHackage') import Distribution.Package import Distribution.PackageDescription-import Distribution.PackageDescription.Parse ( readPackageDescription )-import Distribution.Verbosity ( normal )-import System.Directory ( getCurrentDirectory- , getAppUserDataDirectory- , getPermissions- , searchable- , listDirectory- )-import System.FilePath ( joinPath- , combine- , takeExtension- )+import Distribution.PackageDescription.Parse (readPackageDescription)+import Distribution.Verbosity (normal)+import System.Directory (getAppUserDataDirectory,+ getCurrentDirectory,+ getPermissions,+ listDirectory,+ searchable)+import System.FilePath (combine, joinPath,+ takeExtension) allBuildDepends :: GenericPackageDescription -> S.Set PackageName allBuildDepends desc =@@ -63,7 +60,8 @@ dependentRepos :: Hackage -> GenericPackageDescription -> S.Set GitHubRepo dependentRepos db desc = S.map fromJust $ S.filter isJust mRepos where- pkgs = S.delete (packageName desc) (allBuildDepends desc)+ excepts = [PackageName "base", packageName desc]+ pkgs = foldr S.delete (allBuildDepends desc) excepts mRepos = S.map (flip lookupRepo $ db) pkgs toPackageName :: Dependency -> PackageName
test/Utils/ThankYouStars/GitHubSpec.hs view
@@ -1,9 +1,9 @@-{-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE OverloadedStrings #-} module Utils.ThankYouStars.GitHubSpec (spec) where -import Utils.ThankYouStars.GitHub+import Utils.ThankYouStars.GitHub -import Test.Hspec+import Test.Hspec spec :: Spec spec = do
test/Utils/ThankYouStars/PackageSpec.hs view
@@ -1,11 +1,11 @@ module Utils.ThankYouStars.PackageSpec (spec) where -import Utils.ThankYouStars.GitHub-import Utils.ThankYouStars.Package+import Utils.ThankYouStars.GitHub+import Utils.ThankYouStars.Package -import qualified Data.Set as S-import System.Directory ( getCurrentDirectory )-import System.FilePath ( joinPath )+import qualified Data.Set as S+import System.Directory (getCurrentDirectory)+import System.FilePath (joinPath) import Test.Hspec spec :: Spec@@ -34,5 +34,5 @@ , GitHubRepo "hspec" "hspec" , GitHubRepo "mrkkrp" "req" , GitHubRepo "byorgey" "split"- , GitHubRepo "bos" "text"+ , GitHubRepo "haskell" "text" ]
thank-you-stars.cabal view
@@ -1,5 +1,5 @@ name: thank-you-stars-version: 0.2.0+version: 0.3.0 synopsis: Give your dependencies stars on GitHub! description: A tool for starring GitHub repositories. It detects dependent libraries