<commit_before>module Main (main) where

import Development.Shake

import qualified Base
import qualified CmdLineFlag
import qualified Environment
import qualified Rules
import qualified Rules.Cabal
import qualified Rules.Clean
import qualified Rules.Config
import qualified Rules.Generate
import qualified Rules.Gmp
import qualified Rules.Libffi
import qualified Rules.Oracles
import qualified Rules.Perl
import qualified Test

main :: IO ()
main = shakeArgsWith options CmdLineFlag.flags $ \cmdLineFlags targets -> do
    CmdLineFlag.putCmdLineFlags cmdLineFlags
    Environment.setupEnvironment
    return . Just $ if null targets
                    then rules
                    else want targets >> withoutActions rules
  where
    rules :: Rules ()
    rules = mconcat
        [ Rules.Cabal.cabalRules
        , Rules.Clean.cleanRules
        , Rules.Config.configRules
        , Rules.Generate.generateRules
        , Rules.Generate.copyRules
        , Rules.Gmp.gmpRules
        , Rules.Libffi.libffiRules
        , Rules.Oracles.oracleRules
        , Rules.Perl.perlScriptRules
        , Rules.generateTargets
        , Rules.packageRules
        , Test.testRules ]
    options = shakeOptions
        { shakeFiles    = Base.shakeFilesPath
        , shakeProgress = progressSimple
        , shakeTimings  = True }
<commit_msg>Bring ChangeModtimeAndDigest back.<commit_after>module Main (main) where

import Development.Shake

import qualified Base
import qualified CmdLineFlag
import qualified Environment
import qualified Rules
import qualified Rules.Cabal
import qualified Rules.Clean
import qualified Rules.Config
import qualified Rules.Generate
import qualified Rules.Gmp
import qualified Rules.Libffi
import qualified Rules.Oracles
import qualified Rules.Perl
import qualified Test

main :: IO ()
main = shakeArgsWith options CmdLineFlag.flags $ \cmdLineFlags targets -> do
    CmdLineFlag.putCmdLineFlags cmdLineFlags
    Environment.setupEnvironment
    return . Just $ if null targets
                    then rules
                    else want targets >> withoutActions rules
  where
    rules :: Rules ()
    rules = mconcat
        [ Rules.Cabal.cabalRules
        , Rules.Clean.cleanRules
        , Rules.Config.configRules
        , Rules.Generate.generateRules
        , Rules.Generate.copyRules
        , Rules.Gmp.gmpRules
        , Rules.Libffi.libffiRules
        , Rules.Oracles.oracleRules
        , Rules.Perl.perlScriptRules
        , Rules.generateTargets
        , Rules.packageRules
        , Test.testRules ]
    options = shakeOptions
        { shakeChange   = ChangeModtimeAndDigest
        , shakeFiles    = Base.shakeFilesPath
        , shakeProgress = progressSimple
        , shakeTimings  = True }

{'fraction_non_alphanumeric': 0.05798687089715536, 'fraction_numerical': 0.0, 'mean_word_length': 2.7575342465753425, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1294086', 'n_tokens_mistral': 706, 'n_tokens_neox': 694, 'n_words': 192}