| | | | | | | | | | | | | | | | | | | | | |
<?xml version="1.0" encoding="windows-1252"?> |
<!-- XBRL document created with Toppan Merrill Bridge 10.1.0.3 --> |
<!-- Based on XBRL 2.1 --> |
<!-- Created on: 11/1/2022 7:07:11 PM --> |
<!-- Modified on: 11/1/2022 7:07:11 PM --> |
<xsd:schema targetNamespace="http://www.topbuild.com/20220930" attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:ref="http://www.xbrl.org/2006/ref" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xl="http://www.xbrl.org/2003/XLink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:attributeFormDefault="unqualified" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:us-gaap="http://fasb.org/us-gaap/2022" xmlns:us-types="http://fasb.org/us-types/2022" xmlns:negated="http://www.xbrl.org/2009/role/negated" xmlns:srt-types="http://fasb.org/srt-types/2022" xmlns:dtr-types="http://www.xbrl.org/dtr/type/2020-01-21" xmlns:bld="http://www.topbuild.com/20220930" xmlns:enum2="http://xbrl.org/2020/extensible-enumerations-2.0" xmlns:currency="http://xbrl.sec.gov/currency/2022" xmlns:us-roles="http://fasb.org/us-roles/2022" xmlns:sic="http://xbrl.sec.gov/sic/2022" xmlns:srt-roles="http://fasb.org/srt-roles/2022" xmlns:stpr="http://xbrl.sec.gov/stpr/2022" xmlns:utr="http://www.xbrl.org/2009/utr" xmlns:exch="http://xbrl.sec.gov/exch/2022" xmlns:naics="http://xbrl.sec.gov/naics/2022" xmlns:country="http://xbrl.sec.gov/country/2022" xmlns:srt="http://fasb.org/srt/2022" xmlns:deprecated="http://www.xbrl.org/2009/role/deprecated" xmlns:net="http://www.xbrl.org/2009/role/net" xmlns:dei="http://xbrl.sec.gov/dei/2022" xmlns:dtr="http://www.xbrl.org/2009/dtr" xmlns:cef="http://xbrl.sec.gov/cef/2022" xmlns:xbrldi="http://xbrl.org/2006/xbrldi"> |
| <xsd:annotation> |
| | <xsd:appinfo> |
| | | <link:roleType roleURI="http://www.topbuild.com/role/DisclosureStandardAndCustomAxisDomainDefaults" id="DisclosureStandardAndCustomAxisDomainDefaults"> |
| <link:definition> 99900 - Disclosure - Standard And Custom Axis Domain Defaults </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheets" id="StatementCondensedConsolidatedBalanceSheets"> |
| <link:definition> 00100 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfOperations" id="StatementCondensedConsolidatedStatementsOfOperations"> |
| <link:definition> 00200 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF OPERATIONS </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" id="StatementCondensedConsolidatedStatementsOfComprehensiveIncome"> |
| <link:definition> 00300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" id="StatementCondensedConsolidatedStatementsOfCashFlows"> |
| <link:definition> 00400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesGoodwillDetails" id="DisclosureGoodwillAndOtherIntangiblesGoodwillDetails"> |
| <link:definition> 40401 - Disclosure - Goodwill and Other Intangibles - Goodwill (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesOtherIntangibleAssetsDetails" id="DisclosureGoodwillAndOtherIntangiblesOtherIntangibleAssetsDetails"> |
| <link:definition> 40402 - Disclosure - Goodwill and Other Intangibles - Other intangible assets (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.topbuild.com/role/DisclosureLongTermDebtReconciliationDetails" id="DisclosureLongTermDebtReconciliationDetails"> |
| <link:definition> 40501 - Disclosure - Long-Term Debt - Reconciliation (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.topbuild.com/role/DisclosureLongTermDebtReconciliationDetailsCalc2" id="DisclosureLongTermDebtReconciliationDetailsCalc2"> |
| <link:definition> 40501 - Disclosure - Long-Term Debt - Reconciliation (Details) (Calc2) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.topbuild.com/role/DisclosureLongTermDebtScheduleOfDebtMaturityDetails" id="DisclosureLongTermDebtScheduleOfDebtMaturityDetails"> |
| <link:definition> 40502 - Disclosure - Long-Term Debt - Schedule of debt maturity (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.topbuild.com/role/DisclosureLongTermDebtRevolvingFacilityDetails" id="DisclosureLongTermDebtRevolvingFacilityDetails"> |
| <link:definition> 40504 - Disclosure - Long-Term Debt - Revolving Facility (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.topbuild.com/role/DisclosureNetIncomePerShareCalculationDetails" id="DisclosureNetIncomePerShareCalculationDetails"> |
| <link:definition> 40901 - Disclosure - Net Income Per Share - Calculation (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.topbuild.com/role/DisclosureShareBasedCompensationActivityDetails" id="DisclosureShareBasedCompensationActivityDetails"> |
| <link:definition> 41002 - Disclosure - Share-Based Compensation - Activity (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.topbuild.com/role/DisclosureBusinessCombinationsSummaryDetails" id="DisclosureBusinessCombinationsSummaryDetails"> |
| <link:definition> 41201 - Disclosure - Business Combinations - Summary (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.topbuild.com/role/DisclosureAccruedLiabilitiesDetails" id="DisclosureAccruedLiabilitiesDetails"> |
| <link:definition> 41301 - Disclosure - Accrued Liabilities (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.topbuild.com/role/DisclosureOtherCommitmentsAndContingenciesDetails" id="DisclosureOtherCommitmentsAndContingenciesDetails"> |
| <link:definition> 41401 - Disclosure - Other Commitments and Contingencies (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.topbuild.com/role/DocumentDocumentAndEntityInformation" id="DocumentDocumentAndEntityInformation"> |
| <link:definition> 00090 - Document - Document and Entity Information </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.topbuild.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" id="StatementCondensedConsolidatedBalanceSheetsParenthetical"> |
| <link:definition> 00105 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfChangesInEquity" id="StatementCondensedConsolidatedStatementsOfChangesInEquity"> |
| <link:definition> 00500 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.topbuild.com/role/StatementCondensedConsolidatedStatementsOfChangesInEquityParenthetical" id="StatementCondensedConsolidatedStatementsOfChangesInEquityParenthetical"> |
| <link:definition> 00505 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CHANGES IN EQUITY (Parenthetical) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.topbuild.com/role/DisclosureBasisOfPresentation" id="DisclosureBasisOfPresentation"> |
| <link:definition> 10101 - Disclosure - Basis of Presentation </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.topbuild.com/role/DisclosureAccountingPolicies" id="DisclosureAccountingPolicies"> |
| <link:definition> 10201 - Disclosure - Accounting Policies </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangibles" id="DisclosureGoodwillAndOtherIntangibles"> |
| <link:definition> 10401 - Disclosure - Goodwill and Other Intangibles </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.topbuild.com/role/DisclosureLongTermDebt" id="DisclosureLongTermDebt"> |
| <link:definition> 10501 - Disclosure - Long-Term Debt </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.topbuild.com/role/DisclosureFairValueMeasurements" id="DisclosureFairValueMeasurements"> |
| <link:definition> 10601 - Disclosure - Fair Value Measurements </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.topbuild.com/role/DisclosureSegmentInformation" id="DisclosureSegmentInformation"> |
| <link:definition> 10701 - Disclosure - Segment Information </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.topbuild.com/role/DisclosureIncomeTaxes" id="DisclosureIncomeTaxes"> |
| <link:definition> 10801 - Disclosure - Income Taxes </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.topbuild.com/role/DisclosureNetIncomePerShare" id="DisclosureNetIncomePerShare"> |
| <link:definition> 10901 - Disclosure - Net Income Per Share </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.topbuild.com/role/DisclosureShareBasedCompensation" id="DisclosureShareBasedCompensation"> |
| <link:definition> 11001 - Disclosure - Share-Based Compensation </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.topbuild.com/role/DisclosureShareRepurchaseProgram" id="DisclosureShareRepurchaseProgram"> |
| <link:definition> 11101 - Disclosure - Share Repurchase Program </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.topbuild.com/role/DisclosureBusinessCombinations" id="DisclosureBusinessCombinations"> |
| <link:definition> 11201 - Disclosure - Business Combinations </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.topbuild.com/role/DisclosureAccruedLiabilities" id="DisclosureAccruedLiabilities"> |
| <link:definition> 11301 - Disclosure - Accrued Liabilities </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.topbuild.com/role/DisclosureOtherCommitmentsAndContingencies" id="DisclosureOtherCommitmentsAndContingencies"> |
| <link:definition> 11401 - Disclosure - Other Commitments and Contingencies </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.topbuild.com/role/DisclosureAccountingPoliciesPolicies" id="DisclosureAccountingPoliciesPolicies"> |
| <link:definition> 20202 - Disclosure - Accounting Policies (Policies) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.topbuild.com/role/DisclosureAccountingPoliciesTables" id="DisclosureAccountingPoliciesTables"> |
| <link:definition> 30203 - Disclosure - Accounting Policies (Tables) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.topbuild.com/role/DisclosureGoodwillAndOtherIntangiblesTables" id="DisclosureGoodwillAndOtherIntangiblesTables"> |
| <link:definition> 30403 - Disclosure - Goodwill and Other Intangibles (Tables) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.topbuild.com/role/DisclosureLongTermDebtTables" id="DisclosureLongTermDebtTables"> |
| <link:definition> 30503 - Disclosure - Long-Term Debt (Tables) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.topbuild.com/role/DisclosureSegmentInformationTables" id="DisclosureSegmentInformationTables"> |
| <link:definition> 30703 - Disclosure - Segment Information (Tables) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.topbuild.com/role/DisclosureNetIncomePerShareTables" id="DisclosureNetIncomePerShareTables"> |
| <link:definition> 30903 - Disclosure - Net Income Per Share (Tables) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.topbuild.com/role/DisclosureShareBasedCompensationTables" id="DisclosureShareBasedCompensationTables"> |
| <link:definition> 31003 - Disclosure - Share-Based Compensation (Tables) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.topbuild.com/role/DisclosureShareRepurchaseProgramTables" id="DisclosureShareRepurchaseProgramTables"> |
| <link:definition> 31103 - Disclosure - Share Repurchase Program (Tables) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.topbuild.com/role/DisclosureBusinessCombinationsTables" id="DisclosureBusinessCombinationsTables"> |
| <link:definition> 31203 - Disclosure - Business Combinations (Tables) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.topbuild.com/role/DisclosureAccruedLiabilitiesTables" id="DisclosureAccruedLiabilitiesTables"> |
| <link:definition> 31303 - Disclosure - Accrued Liabilities (Tables) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.topbuild.com/role/DisclosureOtherCommitmentsAndContingenciesTables" id="DisclosureOtherCommitmentsAndContingenciesTables"> |
| <link:definition> 31403 - Disclosure - Other Commitments and Contingencies (Tables) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.topbuild.com/role/DisclosureBasisOfPresentationDetails" id="DisclosureBasisOfPresentationDetails"> |
| <link:definition> 40101 - Disclosure - Basis of Presentation (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.topbuild.com/role/DisclosureRevenueRecognitionDisaggregationDetails" id="DisclosureRevenueRecognitionDisaggregationDetails"> |
| <link:definition> 40301 - Disclosure - Revenue Recognition - Disaggregation (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.topbuild.com/role/DisclosureRevenueRecognitionOtherDetails" id="DisclosureRevenueRecognitionOtherDetails"> |
| <link:definition> 40302 - Disclosure - Revenue Recognition - Other (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.topbuild.com/role/DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails" id="DisclosureLongTermDebtKeyTermsOfCreditAgreementDetails"> |
| <link:definition> 40503 - Disclosure - Long-Term Debt - Key Terms of Credit Agreement (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.topbuild.com/role/DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails" id="DisclosureLongTermDebtSeniorNotesAndEquipmentNotesDetails"> |
| <link:definition> 40505 - Disclosure - Long-Term Debt - Senior Notes and Equipment Notes (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.topbuild.com/role/DisclosureLongTermDebtOtherDetails" id="DisclosureLongTermDebtOtherDetails"> |
| <link:definition> 40506 - Disclosure - Long-Term Debt - Other (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.topbuild.com/role/DisclosureFairValueMeasurementsDetails" id="DisclosureFairValueMeasurementsDetails"> |
| <link:definition> 40601 - Disclosure - Fair Value Measurements (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.topbuild.com/role/DisclosureSegmentInformationDetails" id="DisclosureSegmentInformationDetails"> |
| <link:definition> 40701 - Disclosure - Segment Information (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.topbuild.com/role/DisclosureIncomeTaxesDetails" id="DisclosureIncomeTaxesDetails"> |
| <link:definition> 40801 - Disclosure - Income Taxes (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.topbuild.com/role/DisclosureNetIncomePerShareAntiDilutiveCommonStockEquivalentsDetails" id="DisclosureNetIncomePerShareAntiDilutiveCommonStockEquivalentsDetails"> |
| <link:definition> 40902 - Disclosure - Net Income Per Share - Anti-dilutive common stock equivalents (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.topbuild.com/role/DisclosureShareBasedCompensationExpenseDetails" id="DisclosureShareBasedCompensationExpenseDetails"> |
| <link:definition> 41001 - Disclosure - Share-Based Compensation - Expense (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.topbuild.com/role/DisclosureShareRepurchaseProgramDetails" id="DisclosureShareRepurchaseProgramDetails"> |
| <link:definition> 41101 - Disclosure - Share Repurchase Program (Details) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.topbuild.com/role/DisclosureRevenueRecognition" id="DisclosureRevenueRecognition"> |
| <link:definition> 10301 - Disclosure - Revenue Recognition </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.topbuild.com/role/DisclosureRevenueRecognitionTables" id="DisclosureRevenueRecognitionTables"> |
| <link:definition> 30303 - Disclosure - Revenue Recognition (Tables) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:roleType roleURI="http://www.topbuild.com/role/DisclosureFairValueMeasurementsTables" id="DisclosureFairValueMeasurementsTables"> |
| <link:definition> 30603 - Disclosure - Fair Value Measurements (Tables) </link:definition> |
| <link:usedOn> link:presentationLink </link:usedOn> |
| <link:usedOn> link:calculationLink </link:usedOn> |
| <link:usedOn> link:definitionLink </link:usedOn> |
| </link:roleType> |
| | | <link:linkbaseRef xlink:type="simple" xlink:href="bld-20220930_pre.xml" xlink:role="http://www.xbrl.org/2003/role/presentationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/> |
| | | <link:linkbaseRef xlink:type="simple" xlink:href="bld-20220930_cal.xml" xlink:title="Calculation Links, all" xlink:role="http://www.xbrl.org/2003/role/calculationLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/> |
| | | <link:linkbaseRef xlink:type="simple" xlink:href="bld-20220930_def.xml" xlink:role="http://www.xbrl.org/2003/role/definitionLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/> |
| | | <link:linkbaseRef xlink:type="simple" xlink:href="bld-20220930_lab.xml" xlink:role="http://www.xbrl.org/2003/role/labelLinkbaseRef" xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase"/> |
| | | </xsd:appinfo> |
| | </xsd:annotation> |
| <xsd:import namespace="http://xbrl.sec.gov/dei/2022" schemaLocation="https://xbrl.sec.gov/dei/2022/dei-2022.xsd"/> |
| <xsd:import namespace="http://www.xbrl.org/dtr/type/2020-01-21" schemaLocation="https://www.xbrl.org/dtr/type/2020-01-21/types.xsd"/> |
| <xsd:import namespace="http://www.xbrl.org/2009/role/negated" schemaLocation="http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd"/> |
| <xsd:import namespace="http://www.xbrl.org/2003/instance" schemaLocation="http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd"/> |
| <xsd:import namespace="http://xbrl.org/2005/xbrldt" schemaLocation="http://www.xbrl.org/2005/xbrldt-2005.xsd"/> |
| <xsd:import namespace="http://fasb.org/us-roles/2022" schemaLocation="https://xbrl.fasb.org/us-gaap/2022/elts/us-roles-2022.xsd"/> |
| <xsd:import namespace="http://fasb.org/us-gaap/2022" schemaLocation="https://xbrl.fasb.org/us-gaap/2022/elts/us-gaap-2022.xsd"/> |
| <xsd:import namespace="http://fasb.org/srt/2022" schemaLocation="https://xbrl.fasb.org/srt/2022/elts/srt-2022.xsd"/> |
| <xsd:element name="InstallationSegmentMember" id="bld_InstallationSegmentMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration"/> |
| <xsd:element name="DistributionSegmentMember" id="bld_DistributionSegmentMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" nillable="true" xbrli:periodType="duration"/> |
| <xsd:element id="bld_LineOfCreditFacilityAdditionalBorrowingCapacityAvailableSubjectToCertainConditions" name="LineOfCreditFacilityAdditionalBorrowingCapacityAvailableSubjectToCertainConditions" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit"/> |
| <xsd:element id="bld_LineOfCreditFacilitySublimitAvailableForLettersOfCredit" name="LineOfCreditFacilitySublimitAvailableForLettersOfCredit" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit"/> |
| <xsd:element id="bld_LineOfCreditFacilitySublimitAvailableForSwinglineLoans" name="LineOfCreditFacilitySublimitAvailableForSwinglineLoans" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit"/> |
| <xsd:element id="bld_DebitInstrumentApplicableMarginBasedOnTotalLeverageRatio" name="DebitInstrumentApplicableMarginBasedOnTotalLeverageRatio" nillable="true" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration"/> |
| <xsd:element id="bld_DebtInstrumentCovenantNetLeverageRatio" name="DebtInstrumentCovenantNetLeverageRatio" nillable="true" type="xbrli:pureItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration"/> |
| <xsd:element name="IncrementalCommonSharesAttributableToDilutiveEffectOfRestrictedStockAwards" id="bld_IncrementalCommonSharesAttributableToDilutiveEffectOfRestrictedStockAwards" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/> |
| <xsd:element name="IncrementalCommonSharesAttributableToDilutiveEffectOfStockOptions" id="bld_IncrementalCommonSharesAttributableToDilutiveEffectOfStockOptions" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration"/> |
| <xsd:element id="bld_LongTermIncentivePlanMember" name="LongTermIncentivePlanMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration"/> |
| <xsd:element id="bld_AccruedLiabilitiesDisclosureTextBlock" name="AccruedLiabilitiesDisclosureTextBlock" nillable="true" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration"/> |
| <xsd:element id="bld_AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent" name="AccruedLiabilitiesAndEmployeeRelatedLiabilitiesCurrent" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit"/> |
| <xsd:element id="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageGrantDateFairValue" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageGrantDateFairValue" nillable="true" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration"/> |
| <xsd:element id="bld_PerformanceBondsOutstanding" name="PerformanceBondsOutstanding" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit"/> |
| <xsd:element id="bld_LicenseAndInsuranceRelatedAndOtherBondsOutstanding" name="LicenseAndInsuranceRelatedAndOtherBondsOutstanding" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit"/> |
| <xsd:element id="bld_RainGuttersMember" name="RainGuttersMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration"/> |
| <xsd:element id="bld_ShareRepurchaseProgramTextBlock" name="ShareRepurchaseProgramTextBlock" nillable="true" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration"/> |
| <xsd:element id="bld_VestingCriteriaAxis" name="VestingCriteriaAxis" nillable="true" type="xbrli:stringItemType" substitutionGroup="xbrldt:dimensionItem" abstract="true" xbrli:periodType="duration"/> |
| <xsd:element id="bld_VestingCriteriaDomain" name="VestingCriteriaDomain" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration"/> |
| <xsd:element id="bld_VestingBasedOnServiceMember" name="VestingBasedOnServiceMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration"/> |
| <xsd:element id="bld_VestingBasedOnPerformanceMember" name="VestingBasedOnPerformanceMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration"/> |
| <xsd:element id="bld_VestingBasedOnMarketConditionsMember" name="VestingBasedOnMarketConditionsMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration"/> |
| <xsd:element id="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeOneMember" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeOneMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration"/> |
| <xsd:element id="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeTwoMember" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeTwoMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration"/> |
| <xsd:element id="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeThreeMember" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeThreeMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration"/> |
| <xsd:element id="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeFourMember" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeFourMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration"/> |
| <xsd:element id="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangePercentage" nillable="true" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant"/> |
| <xsd:element id="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeRelatedExpenses" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeRelatedExpenses" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit"/> |
| <xsd:element id="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsInPeriodTotalGrantDateFairValue" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsInPeriodTotalGrantDateFairValue" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit"/> |
| <xsd:element id="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRemainingMeasurementPeriod" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRemainingMeasurementPeriod" nillable="true" type="xbrli:durationItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration"/> |
| <xsd:element id="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsConvertedExercisedInPeriod" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsConvertedExercisedInPeriod" nillable="true" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration"/> |
| <xsd:element id="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsConvertedExercisedWeightedAverageGrantDateFairValue" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsConvertedExercisedWeightedAverageGrantDateFairValue" nillable="true" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration"/> |
| <xsd:element id="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsConvertedExercisedWeightedAverageGrantDateFairValue" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsConvertedExercisedWeightedAverageGrantDateFairValue" nillable="true" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration"/> |
| <xsd:element id="bld_ScheduleOfShareBasedPaymentAwardOtherThanOptionsValuationAssumptionsTableTextBlock" name="ScheduleOfShareBasedPaymentAwardOtherThanOptionsValuationAssumptionsTableTextBlock" nillable="true" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration"/> |
| <xsd:element id="bld_ScheduleOfShareBasedPaymentAwardRestrictedStockAwardsPayoutRangeAndRelatedExpenseTableTextBlock" name="ScheduleOfShareBasedPaymentAwardRestrictedStockAwardsPayoutRangeAndRelatedExpenseTableTextBlock" nillable="true" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration"/> |
| <xsd:element id="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeAxis" nillable="true" type="xbrli:stringItemType" substitutionGroup="xbrldt:dimensionItem" abstract="true" xbrli:periodType="duration"/> |
| <xsd:element id="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeDomain" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardPayoutRangeDomain" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration"/> |
| <xsd:element id="bld_SummaryOfKeyTermsOfCreditAgreementTableTextBlock" name="SummaryOfKeyTermsOfCreditAgreementTableTextBlock" nillable="true" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration"/> |
| <xsd:element id="bld_ScheduleOfAvailabilityUnderRevolvingFacilityTableTextBlock" name="ScheduleOfAvailabilityUnderRevolvingFacilityTableTextBlock" nillable="true" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration"/> |
| <xsd:element id="bld_ScheduleOfKeyFinancialCovenantsTableTextBlock" name="ScheduleOfKeyFinancialCovenantsTableTextBlock" nillable="true" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration"/> |
| <xsd:element id="bld_ScheduleOfShareBasedCompensationExpenseTableTextBlock" name="ScheduleOfShareBasedCompensationExpenseTableTextBlock" nillable="true" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration"/> |
| <xsd:element id="bld_ScheduleOfShareRepurchasesTableTextBlock" name="ScheduleOfShareRepurchasesTableTextBlock" nillable="true" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration"/> |
| <xsd:element id="bld_EliminationsAndReconcilingItemsMember" name="EliminationsAndReconcilingItemsMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration"/> |
| <xsd:element id="bld_BaseRateBorrowingsMember" name="BaseRateBorrowingsMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration"/> |
| <xsd:element id="bld_DebtAgreementTermsAxis" name="DebtAgreementTermsAxis" nillable="true" type="xbrli:stringItemType" substitutionGroup="xbrldt:dimensionItem" abstract="true" xbrli:periodType="duration"/> |
| <xsd:element id="bld_DebtAgreementTermsDomain" name="DebtAgreementTermsDomain" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration"/> |
| <xsd:element id="bld_BondsOutstanding" name="BondsOutstanding" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit"/> |
| <xsd:element id="bld_BondsOutstandingTableTextBlock" name="BondsOutstandingTableTextBlock" nillable="true" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration"/> |
| <xsd:element id="bld_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccruedLiabilities" name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedAccruedLiabilities" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit"/> |
| <xsd:element id="bld_FederalFundsRateMember" name="FederalFundsRateMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration"/> |
| <xsd:element id="bld_BusinessCombinationConsiderationTransferredLiabilitiesIncurredContingentConsideration" name="BusinessCombinationConsiderationTransferredLiabilitiesIncurredContingentConsideration" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="credit"/> |
| <xsd:element id="bld_LIBORRateBorrowingsMember" name="LIBORRateBorrowingsMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration"/> |
| <xsd:element id="bld_DebtInstrumentReferenceRateMaturityPeriod" name="DebtInstrumentReferenceRateMaturityPeriod" nillable="true" type="xbrli:durationItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration"/> |
| <xsd:element id="bld_AcceleratedShareRepurchasesInitialSharesDeliveredShares" name="AcceleratedShareRepurchasesInitialSharesDeliveredShares" nillable="true" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant"/> |
| <xsd:element id="bld_AcceleratedShareRepurchasesInitialSharesDeliveredValue" name="AcceleratedShareRepurchasesInitialSharesDeliveredValue" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit"/> |
| <xsd:element id="bld_TreasuryStockValueAcquiredCostMethodShareRepurchaseProgram" name="TreasuryStockValueAcquiredCostMethodShareRepurchaseProgram" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit"/> |
| <xsd:element id="bld_TreasuryStockValueAcquiredCostMethodAcceleratedShareRepurchaseProgram" name="TreasuryStockValueAcquiredCostMethodAcceleratedShareRepurchaseProgram" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit"/> |
| <xsd:element id="bld_TreasuryStockSharesAcquiredCostMethodShareRepurchaseProgram" name="TreasuryStockSharesAcquiredCostMethodShareRepurchaseProgram" nillable="true" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration"/> |
| <xsd:element id="bld_TreasuryStockSharesAcquiredCostMethodAcceleratedShareRepurchaseProgram" name="TreasuryStockSharesAcquiredCostMethodAcceleratedShareRepurchaseProgram" nillable="true" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration"/> |
| <xsd:element id="bld_AcceleratedShareRepurchasesInitialSharesDeliveredPercentage" name="AcceleratedShareRepurchasesInitialSharesDeliveredPercentage" nillable="true" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant"/> |
| <xsd:element id="bld_OutstandingBondsAbstract" name="OutstandingBondsAbstract" nillable="true" type="xbrli:stringItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration"/> |
| <xsd:element id="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsEstimatedFairValueOfAwardsGranted" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsEstimatedFairValueOfAwardsGranted" nillable="true" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration"/> |
| <xsd:element id="bld_ReceivablesNetMember" name="ReceivablesNetMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration"/> |
| <xsd:element id="bld_AmendedCreditAgreementMember" name="AmendedCreditAgreementMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration"/> |
| <xsd:element id="bld_EquipmentNotesMember" name="EquipmentNotesMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration"/> |
| <xsd:element id="bld_ProceedsFromExecutionOfEquipmentNotes" name="ProceedsFromExecutionOfEquipmentNotes" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit"/> |
| <xsd:element id="bld_ChangeInControlScenarioMember" name="ChangeInControlScenarioMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration"/> |
| <xsd:element id="bld_EventOfDefaultScenarioMember" name="EventOfDefaultScenarioMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration"/> |
| <xsd:element id="bld_MinimumPercentageOfDebtImmediatelyDueAndPayable" name="MinimumPercentageOfDebtImmediatelyDueAndPayable" nillable="true" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration"/> |
| <xsd:element id="bld_LineOfCreditFacilityAdditionalBorrowingCapacityDelayedDraw" name="LineOfCreditFacilityAdditionalBorrowingCapacityDelayedDraw" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit"/> |
| <xsd:element id="bld_ScheduleOfAcquiredFiniteLivedAndIndefiniteLivedIntangibleAssetTableTextBlock" name="ScheduleOfAcquiredFiniteLivedAndIndefiniteLivedIntangibleAssetTableTextBlock" nillable="true" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration"/> |
| <xsd:element id="bld_GlassAndWindowsMember" name="GlassAndWindowsMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration"/> |
| <xsd:element id="bld_RepurchaseProgram2019Member" name="RepurchaseProgram2019Member" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration"/> |
| <xsd:element id="bld_TreasuryStockValueAcquiredCostMethodSettlementOfAcceleratedShareRepurchaseProgram" name="TreasuryStockValueAcquiredCostMethodSettlementOfAcceleratedShareRepurchaseProgram" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit"/> |
| <xsd:element id="bld_TreasuryStockSharesAcquiredCostMethodSettlementOfAcceleratedShareRepurchaseProgram" name="TreasuryStockSharesAcquiredCostMethodSettlementOfAcceleratedShareRepurchaseProgram" nillable="true" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration"/> |
| <xsd:element id="bld_AllOtherProductsMember" name="AllOtherProductsMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration"/> |
| <xsd:element id="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsCumulativePeriodOfAchievement" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsCumulativePeriodOfAchievement" nillable="true" type="xbrli:durationItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration"/> |
| <xsd:element id="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsCumulativePeriodOfAchievementPercentage" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsCumulativePeriodOfAchievementPercentage" nillable="true" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration"/> |
| <xsd:element id="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsTotalCompensationExpenseRecognizedOverPerformancePeriod" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOtherThanOptionsGrantsTotalCompensationExpenseRecognizedOverPerformancePeriod" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration" xbrli:balance="debit"/> |
| <xsd:element id="bld_ResidentialMember" name="ResidentialMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration"/> |
| <xsd:element id="bld_CommercialMember" name="CommercialMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration"/> |
| <xsd:element id="bld_InsulationAndAccessoriesMember" name="InsulationAndAccessoriesMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration"/> |
| <xsd:element id="bld_DebtInstrumentInterestRatePercentageFloor" name="DebtInstrumentInterestRatePercentageFloor" nillable="true" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration"/> |
| <xsd:element id="bld_DebtInstrumentCovenantMinimumInterestCoverageRatio" name="DebtInstrumentCovenantMinimumInterestCoverageRatio" nillable="true" type="xbrli:pureItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration"/> |
| <xsd:element id="bld_ScheduleOfUnrecognizedShareBasedCompensationExpenseNonvestedAwards" name="ScheduleOfUnrecognizedShareBasedCompensationExpenseNonvestedAwards" nillable="true" type="dtr-types:textBlockItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration"/> |
| <xsd:element id="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonvestedOptionsForfeitedOrExpiredWeightedAverageGrantDateFairValue" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsNonvestedOptionsForfeitedOrExpiredWeightedAverageGrantDateFairValue" nillable="true" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration"/> |
| <xsd:element id="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedOrExpiredInPeriod" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedOrExpiredInPeriod" nillable="true" type="xbrli:sharesItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration"/> |
| <xsd:element id="bld_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedOrExpiredWeightedAverageGrantDateFairValue" name="ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedOrExpiredWeightedAverageGrantDateFairValue" nillable="true" type="dtr-types:perShareItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration"/> |
| <xsd:element id="bld_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFour" name="LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFour" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit"/> |
| <xsd:element id="bld_AccruedSalariesWagesAndCommissionsCurrent" name="AccruedSalariesWagesAndCommissionsCurrent" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit"/> |
| <xsd:element id="bld_AccruedEmployeeTaxRelatedLiabilitiesCurrent" name="AccruedEmployeeTaxRelatedLiabilitiesCurrent" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit"/> |
| <xsd:element id="bld_AccruedSalesAndPropertyTaxesCurrent" name="AccruedSalesAndPropertyTaxesCurrent" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit"/> |
| <xsd:element id="bld_AccruedCustomerRebatesCurrent" name="AccruedCustomerRebatesCurrent" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="credit"/> |
| <xsd:element id="bld_DebtInstrumentFloorRate" name="DebtInstrumentFloorRate" nillable="true" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration"/> |
| <xsd:element id="bld_SeniorNotesDue2029Member" name="SeniorNotesDue2029Member" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration"/> |
| <xsd:element id="bld_DebtInstrumentRedemptionOptionOneMember" name="DebtInstrumentRedemptionOptionOneMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration"/> |
| <xsd:element id="bld_DebtInstrumentRedemptionOptionTwoMember" name="DebtInstrumentRedemptionOptionTwoMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration"/> |
| <xsd:element id="bld_DebtInstrumentConditionalRedemptionThresholdPercentageOfAggregatePrincipalAmountOriginallyIssuedRemainsOutstanding" name="DebtInstrumentConditionalRedemptionThresholdPercentageOfAggregatePrincipalAmountOriginallyIssuedRemainsOutstanding" nillable="true" type="dtr-types:percentItemType" substitutionGroup="xbrli:item" xbrli:periodType="duration"/> |
| <xsd:element id="bld_SeniorNotesDue2026Member" name="SeniorNotesDue2026Member" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration"/> |
| <xsd:element id="bld_Acquisitions2021Member" name="Acquisitions2021Member" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration"/> |
| <xsd:element id="bld_LCRContractorsMember" name="LCRContractorsMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration"/> |
| <xsd:element id="bld_AbsMember" name="AbsMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration"/> |
| <xsd:element id="bld_ShareRepurchaseProgram2021Member" name="ShareRepurchaseProgram2021Member" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration"/> |
| <xsd:element id="bld_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRightOfUseAssets" name="BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedRightOfUseAssets" nillable="true" type="xbrli:monetaryItemType" substitutionGroup="xbrli:item" xbrli:periodType="instant" xbrli:balance="debit"/> |
| <xsd:element id="bld_AmendedCreditAgreementOctober2021Member" name="AmendedCreditAgreementOctober2021Member" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration"/> |
| <xsd:element id="bld_SeniorNotesDue2032Member" name="SeniorNotesDue2032Member" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration"/> |
| <xsd:element id="bld_DistributionInternationalMember" name="DistributionInternationalMember" nillable="true" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" abstract="true" xbrli:periodType="duration"/> |
| <xsd:element name="IndustrialMember" id="bld_IndustrialMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true"/> |
| <xsd:element name="AccountsReceivableNetCurrentMember" id="bld_AccountsReceivableNetCurrentMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true"/> |
| <xsd:element name="DebtInstrumentRedemptionPeriodSevenMember" id="bld_DebtInstrumentRedemptionPeriodSevenMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true"/> |
| <xsd:element name="RestrictedStockAwardsGrantedFebruary2019Member" id="bld_RestrictedStockAwardsGrantedFebruary2019Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true"/> |
| <xsd:element name="SouthwestInsulationInc.Member" id="bld_SouthwestInsulationInc.Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true"/> |
| <xsd:element name="BillingsInsulationServiceInc.Member" id="bld_BillingsInsulationServiceInc.Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true"/> |
| <xsd:element name="GreenEnergySolutionsInc.Member" id="bld_GreenEnergySolutionsInc.Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true"/> |
| <xsd:element name="AcceleratedShareRepurchaseAgreement2022Member" id="bld_AcceleratedShareRepurchaseAgreement2022Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true"/> |
| <xsd:element name="AssuredInsulationServiceInc.Member" id="bld_AssuredInsulationServiceInc.Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true"/> |
| <xsd:element name="ShareRepurchaseProgram2022Member" id="bld_ShareRepurchaseProgram2022Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true"/> |
| <xsd:element name="Acquisitions2022Member" id="bld_Acquisitions2022Member" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true"/> |
| <xsd:element name="CvInsulationLlcMember" id="bld_CvInsulationLlcMember" type="dtr-types:domainItemType" substitutionGroup="xbrli:item" nillable="true" xbrli:periodType="duration" abstract="true"/> |
| </xsd:schema> |