@@ -47,7 +47,7 @@ module App.Fossa.Config.Common (
47
47
configHelp ,
48
48
titleHelp ,
49
49
-- Deprecation
50
- deprecateReleaseGroupMetadata ,
50
+ applyReleaseGroupDeprecationWarning ,
51
51
) where
52
52
53
53
import App.Fossa.Config.ConfigFile (
@@ -126,7 +126,6 @@ import Options.Applicative (
126
126
argument ,
127
127
auto ,
128
128
eitherReader ,
129
- internal ,
130
129
long ,
131
130
metavar ,
132
131
option ,
@@ -144,7 +143,7 @@ import Options.Applicative.Help (AnsiStyle)
144
143
import Path (Abs , Dir , File , Path , Rel , SomeBase (.. ), parseRelDir )
145
144
import Path.Extra (SomePath (.. ))
146
145
import Path.IO (resolveDir' , resolveFile' )
147
- import Prettyprinter (Doc , annotate )
146
+ import Prettyprinter (Doc , Pretty ( pretty ), annotate )
148
147
import Prettyprinter.Render.Terminal (Color (Green , Red ), color )
149
148
import Style (applyFossaStyle , boldItalicized , coloredBoldItalicized , formatDoc , stringToHelpDoc )
150
149
import Text.Megaparsec (errorBundlePretty , runParser )
@@ -221,25 +220,38 @@ policyIdHelp =
221
220
releaseGroupMetadataOpts :: Parser ReleaseGroupMetadata
222
221
releaseGroupMetadataOpts =
223
222
ReleaseGroupMetadata
224
- <$> strOption (applyFossaStyle <> long " release-group-name" <> stringToHelpDoc " The name of the release group to add this project to " <> internal )
225
- <*> strOption (applyFossaStyle <> long " release-group-release" <> stringToHelpDoc " The release of the release group to add this project to " <> internal )
223
+ <$> strOption (applyFossaStyle <> long " release-group-name" <> helpDoc releaseGroupNameHelp )
224
+ <*> strOption (applyFossaStyle <> long " release-group-release" <> helpDoc releaseGroupReleaseHelp )
226
225
227
- deprecateReleaseGroupMetadata :: Has Diagnostics sig m => ProjectMetadata -> m ProjectMetadata
228
- deprecateReleaseGroupMetadata projectMetadata = do
226
+ releaseGroupNameHelp :: Maybe (Doc AnsiStyle )
227
+ releaseGroupNameHelp =
228
+ Just . formatDoc $
229
+ vsep
230
+ [ " The name of the release group to add this project to"
231
+ , boldItalicized " Note: " <> pretty releaseGroupDeprecationMessage
232
+ ]
233
+
234
+ releaseGroupReleaseHelp :: Maybe (Doc AnsiStyle )
235
+ releaseGroupReleaseHelp =
236
+ Just . formatDoc $
237
+ vsep
238
+ [ " The release of the release group to add this project to"
239
+ , boldItalicized " Note: " <> pretty releaseGroupDeprecationMessage
240
+ ]
241
+
242
+ applyReleaseGroupDeprecationWarning :: Has Diagnostics sig m => ProjectMetadata -> m ()
243
+ applyReleaseGroupDeprecationWarning projectMetadata = do
229
244
case (projectReleaseGroup projectMetadata) of
230
- Nothing -> pure projectMetadata
245
+ Nothing -> pure ()
231
246
Just _ -> do
232
- warn deprecationMessage
233
- pure $ removeReleaseGroupMetadata projectMetadata
234
- where
235
- removeReleaseGroupMetadata :: ProjectMetadata -> ProjectMetadata
236
- removeReleaseGroupMetadata project = project{projectReleaseGroup = Nothing }
247
+ warn releaseGroupDeprecationMessage
248
+ pure ()
237
249
238
- deprecationMessage :: Text
239
- deprecationMessage =
240
- renderIt $
241
- vsep
242
- [annotate (color Red ) " Release group options for this command have been deprecated. Refer to `fossa release-group` subcommands to interact with FOSSA release groups." ]
250
+ releaseGroupDeprecationMessage :: Text
251
+ releaseGroupDeprecationMessage =
252
+ renderIt $
253
+ vsep
254
+ [annotate (color Red ) " Release group options for this command will soon be deprecated. Refer to `fossa release-group` subcommands to interact with FOSSA release groups." ]
243
255
244
256
pathOpt :: String -> Either String (Path Rel Dir )
245
257
pathOpt = first show . parseRelDir
0 commit comments