@@ -97,12 +97,13 @@ preparePackage' = do
9797
9898 pkgMeta <- liftIO (Bower. decodeFile " bower.json" )
9999 >>= flip catchLeft (userError . CouldntParseBowerJSON )
100- pkgVersion <- getVersionFromGitTag
101- pkgGithub <- getBowerInfo pkgMeta
102- (pkgBookmarks, pkgModules) <- getModulesAndBookmarks
100+ (pkgVersionTag, pkgVersion) <- getVersionFromGitTag
101+ pkgGithub <- getBowerInfo pkgMeta
102+ (pkgBookmarks, pkgModules) <- getModulesAndBookmarks
103103
104- let declaredDeps = map fst (bowerDependencies pkgMeta ++ bowerDevDependencies pkgMeta)
105- pkgResolvedDependencies <- getResolvedDependencies declaredDeps
104+ let declaredDeps = map fst (bowerDependencies pkgMeta ++
105+ bowerDevDependencies pkgMeta)
106+ pkgResolvedDependencies <- getResolvedDependencies declaredDeps
106107
107108 let pkgUploader = D. NotYetKnown
108109
@@ -117,19 +118,19 @@ getModulesAndBookmarks = do
117118 renderModules bookmarks modules =
118119 return (bookmarks, map D. renderModule modules)
119120
120- getVersionFromGitTag :: PrepareM Version
121+ getVersionFromGitTag :: PrepareM ( String , Version )
121122getVersionFromGitTag = do
122123 out <- readProcess' " git" [" tag" , " --list" , " --points-at" , " HEAD" ] " "
123- let vs = map clean (lines out)
124- case mapMaybe D. parseVersion' vs of
124+ let vs = map trimWhitespace (lines out)
125+ case mapMaybe parseMay vs of
125126 [] -> userError TagMustBeCheckedOut
126127 [x] -> return x
127- xs -> userError (AmbiguousVersions xs )
128+ xs -> userError (AmbiguousVersions ( map snd xs) )
128129 where
129- clean =
130- trimWhitespace >>> dropPrefix " v"
131130 trimWhitespace =
132131 dropWhile isSpace >>> reverse >>> dropWhile isSpace >>> reverse
132+ parseMay str =
133+ (str,) <$> D. parseVersion' (dropPrefix " v" str)
133134 dropPrefix prefix str =
134135 fromMaybe str (stripPrefix prefix str)
135136
0 commit comments