<commit_before>
-- | The main entry point that calls all the default rules
module Development.Shake.Internal.Shake(shake) where

import Development.Shake.Internal.Options
import General.Timing
import Development.Shake.Internal.Core.Run
import Development.Shake.Internal.Core.Rules

import Development.Shake.Internal.Rules.Directory
import Development.Shake.Internal.Rules.File
import Development.Shake.Internal.Rules.Files
import Development.Shake.Internal.Rules.Rerun


-- | Main entry point for running Shake build systems. For an example see the top of the module "Development.Shake".
--   Use 'ShakeOptions' to specify how the system runs, and 'Rules' to specify what to build. The function will throw
--   an exception if the build fails.
--
--   To use command line flags to modify 'ShakeOptions' see 'Development.Shake.shakeArgs'.
shake :: ShakeOptions -> Rules () -> IO ()
shake opts r = do
    addTiming "Function shake"
    run opts $ do
        r
        defaultRuleFile
        defaultRuleFiles
        defaultRuleDirectory
        defaultRuleRerun
    return ()<commit_msg>Remove a redundant return<commit_after>
-- | The main entry point that calls all the default rules
module Development.Shake.Internal.Shake(shake) where

import Development.Shake.Internal.Options
import General.Timing
import Development.Shake.Internal.Core.Run
import Development.Shake.Internal.Core.Rules

import Development.Shake.Internal.Rules.Directory
import Development.Shake.Internal.Rules.File
import Development.Shake.Internal.Rules.Files
import Development.Shake.Internal.Rules.Rerun


-- | Main entry point for running Shake build systems. For an example see the top of the module "Development.Shake".
--   Use 'ShakeOptions' to specify how the system runs, and 'Rules' to specify what to build. The function will throw
--   an exception if the build fails.
--
--   To use command line flags to modify 'ShakeOptions' see 'Development.Shake.shakeArgs'.
shake :: ShakeOptions -> Rules () -> IO ()
shake opts r = do
    addTiming "Function shake"
    run opts $ do
        r
        defaultRuleFile
        defaultRuleFiles
        defaultRuleDirectory
        defaultRuleRerun
{'fraction_non_alphanumeric': 0.07741935483870968, 'fraction_numerical': 0.0, 'mean_word_length': 3.6788793103448274, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 20, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3505799', 'n_tokens_mistral': 588, 'n_tokens_neox': 571, 'n_words': 208}