Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Optimistic download #184

Open
wants to merge 28 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
2d24508
[skip ci] WIP
tmspzz Mar 11, 2019
ea6d955
Merge branch 'master' into feature/issue-175-role-arn-support
tmspzz Mar 12, 2019
5c177d4
[skip ci][WIP] working version with old behavior
tmspzz Apr 4, 2019
67faa4c
[skip ci] Actually use getAWSEnv
tmspzz Apr 4, 2019
1d00386
[skip ci] remove commented out code
tmspzz Apr 5, 2019
d5e576c
[skip ci] refactor getAWSEnv
tmspzz Apr 12, 2019
a0a546c
[skip ci] Escalate role_arn with STS
tmspzz Apr 13, 2019
d53f3cf
Merge branch 'master' into feature/issue-175-role-arn-support
tmspzz Apr 14, 2019
9b4e47e
Update integration tests
tmspzz Apr 15, 2019
2364fa4
Merge branch 'feature/issue-175-role-arn-support' of https://github.c…
tmspzz Apr 15, 2019
e35f28b
Update Tests
tmspzz Apr 15, 2019
3491f6c
Debug hlint
tmspzz Apr 15, 2019
8f4fbac
Fix hlint
tmspzz Apr 15, 2019
12c0ac5
Use prebuilt ruby
tmspzz Apr 15, 2019
d0968d3
try again
tmspzz Apr 15, 2019
a6c3ec4
try again
tmspzz Apr 15, 2019
c533b3d
WIP
tmspzz Apr 25, 2019
1893e86
WIP
tmspzz Apr 25, 2019
7b475eb
Try fix
tmspzz Apr 26, 2019
604ece8
Try fix
tmspzz Apr 26, 2019
1a35dd1
Catch IOError
tmspzz Apr 29, 2019
4330905
Enable all tests again
tmspzz Apr 29, 2019
c411240
try fix
tmspzz May 1, 2019
9c55332
WIP
tmspzz May 14, 2019
656ba91
Merge branch 'master' into feature/optimistic-download
tmspzz May 15, 2019
66ed491
Merge branch 'master' into feature/optimistic-download
tmspzz May 20, 2019
3ba2159
Merge branch 'master' into feature/optimistic-download
tmspzz Jun 19, 2019
3854cbc
Merge branch 'master' into feature/optimistic-download
tmspzz Nov 15, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions src/CommandParsers.hs
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,13 @@ concurrentlyParser = ConcurrentlyFlag <$> Opts.switch
"Maximise concurrency while performing the operation. Might make verbose output hard to follow."
)

optimisticParser :: Opts.Parser OptimisticFlag
optimisticParser = OptimisticFlag <$> Opts.switch
( Opts.long "optimistic"
<> Opts.help
"If there are .version files, skip frameworks and related artifacts. Only affects download."
)

reposParser :: Opts.Parser [ProjectName]
reposParser = Opts.many
(Opts.argument
Expand Down Expand Up @@ -96,6 +103,7 @@ udcPayloadParser =
<*> noIgnoreParser
<*> noSkipCurrentParser
<*> concurrentlyParser
<*> optimisticParser

uploadParser :: Opts.Parser RomeCommand
uploadParser = pure Upload <*> udcPayloadParser

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Found Use <$>

pure Upload <*> udcPayloadParser

Why Not

Upload <$> udcPayloadParser

    

Expand Down
21 changes: 5 additions & 16 deletions src/Data/Carthage/VersionFile.hs
Original file line number Diff line number Diff line change
Expand Up @@ -4,34 +4,25 @@ module Data.Carthage.VersionFile where


import Data.Carthage.Common
import Data.Carthage.TargetPlatform
import qualified Data.Map.Strict as M
import Data.Aeson
import Data.Aeson.Types


type FrameworkPlatformInfoMap = M.Map TargetPlatform [FrameworkPlatformInfo]


data FrameworkInfo = FrameworkInfo { _hash :: String
, _frameworkName :: String
data FrameworkInfo = FrameworkInfo { _hash :: String
, _frameworkName :: String
, _swiftToolChainVersion :: Maybe String
}
deriving (Show, Eq)

instance FromJSON FrameworkInfo where
parseJSON (Object v) = FrameworkInfo <$>
v .: "hash" <*>
v .: "name"
v .: "name" <*>
v .:? "swiftToolchainVersion"
parseJSON invalid = typeMismatch "FrameworkInfo" invalid

data FrameworkPlatformInfo = FrameworkPlatformInfo { targetPlatform :: TargetPlatform
, hash :: String
, frameworkName :: String
}
deriving (Show, Eq)

data VersionFileEntry = VersionFileEntry { commitish :: Version
, xcodeVersion :: String
, iOSFramewoksInfo :: Maybe [FrameworkInfo]
, tvOSFrameworksInfo :: Maybe [FrameworkInfo]
, watchOSFrameworksInfo :: Maybe [FrameworkInfo]
Expand All @@ -42,10 +33,8 @@ data VersionFileEntry = VersionFileEntry { commitish :: Version
instance FromJSON VersionFileEntry where
parseJSON (Object v) = VersionFileEntry
<$> (Version <$> v .: "commitish")
<*> v .: "xcodeVersion"
<*> v .:? "iOS"
<*> v .:? "tvOS"
<*> v .:? "watchOS"
<*> v .:? "Mac"

parseJSON invalid = typeMismatch "VersionFileEntry" invalid
Loading