Skip to content

Commit ea10057

Browse files
authored
Merge pull request #3150 from commercialhaskell/upload-cleanup
Upload cleanup, and save-hackage-creds option
2 parents aaecb6a + 1471dd1 commit ea10057

File tree

6 files changed

+108
-220
lines changed

6 files changed

+108
-220
lines changed

ChangeLog.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ Other enhancements:
4848
[Stackage no-revisions feature](http://www.snoyman.com/blog/2017/04/stackages-no-revisions-field)—as
4949
a method to ensure PVP compliance without having to proactively fix
5050
bounds issues for Stackage maintenance.
51+
* Expose a `save-hackage-creds` configuration option
5152

5253
Bug fixes:
5354

doc/yaml_configuration.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -739,6 +739,17 @@ in the directories it creates. Source control tools can be specified with the
739739
templates:
740740
scm-init: git
741741
```
742+
743+
### save-hackage-creds
744+
745+
Controls whether, when using `stack upload`, the user's Hackage
746+
username and password are stored in a local file. Default: true.
747+
748+
```yaml
749+
save-hackage-creds: true
750+
```
751+
752+
Since 1.5.0
742753

743754
# urls
744755

src/Stack/Config.hs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -386,6 +386,7 @@ configFromConfigMonoid
386386
configAllowNewer = fromFirst False configMonoidAllowNewer
387387
configDefaultTemplate = getFirst configMonoidDefaultTemplate
388388
configDumpLogs = fromFirst DumpWarningLogs configMonoidDumpLogs
389+
configSaveHackageCreds = fromFirst True configMonoidSaveHackageCreds
389390

390391
configAllowDifferentUser <-
391392
case getFirst configMonoidAllowDifferentUser of

src/Stack/Types/Config.hs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -372,6 +372,8 @@ data Config =
372372
,configAllowLocals :: !Bool
373373
-- ^ Are we allowed to build local packages? The script
374374
-- command disallows this.
375+
,configSaveHackageCreds :: !Bool
376+
-- ^ Should we save Hackage credentials to a file?
375377
}
376378

377379
-- | Which packages do ghc-options on the command line apply to?
@@ -785,6 +787,8 @@ data ConfigMonoid =
785787
-- installation.
786788
, configMonoidDumpLogs :: !(First DumpLogs)
787789
-- ^ See 'configDumpLogs'
790+
, configMonoidSaveHackageCreds :: !(First Bool)
791+
-- ^ See 'configSaveHackageCreds'
788792
}
789793
deriving (Show, Generic)
790794

@@ -856,6 +860,7 @@ parseConfigMonoidObject rootDir obj = do
856860
configMonoidDefaultTemplate <- First <$> obj ..:? configMonoidDefaultTemplateName
857861
configMonoidAllowDifferentUser <- First <$> obj ..:? configMonoidAllowDifferentUserName
858862
configMonoidDumpLogs <- First <$> obj ..:? configMonoidDumpLogsName
863+
configMonoidSaveHackageCreds <- First <$> obj ..:? configMonoidSaveHackageCredsName
859864

860865
return ConfigMonoid {..}
861866
where
@@ -989,6 +994,9 @@ configMonoidAllowDifferentUserName = "allow-different-user"
989994
configMonoidDumpLogsName :: Text
990995
configMonoidDumpLogsName = "dump-logs"
991996

997+
configMonoidSaveHackageCredsName :: Text
998+
configMonoidSaveHackageCredsName = "save-hackage-creds"
999+
9921000
data ConfigException
9931001
= ParseConfigFileException (Path Abs File) ParseException
9941002
| ParseCustomSnapshotException Text ParseException

0 commit comments

Comments
 (0)