code: def compile_all(self):
          
  
          # Solidity input JSON
          solc_input = self.get_solc_input()
  
          # Compile the contracts
          real_path = os.path.realpath(self.contracts_dir)
          compilation_result = compile_standard(solc_input, allow_paths=real_path)
  
          # Create the output folder if it doesn't already exist
          os.makedirs(self.output_dir, exist_ok=True)
  
          # Write the contract ABI to output files
          compiled_contracts = compilation_result['contracts']
          for contract_file in compiled_contracts:
              for contract in compiled_contracts[contract_file]:
                  contract_name = contract.split('.')[0]
                  contract_data = compiled_contracts[contract_file][contract_name]
  
                  contract_data_path = self.output_dir + '/{0}.json'.format(contract_name)
                  with open(contract_data_path, "w+") as contract_data_file:
                      json.dump(contract_data, contract_data_file)
docs: Compiles all of the contracts in the self.contracts_dir directory
  
          Creates {contract name}.json files in self.output_dir that contain
          the build output for each contract.