Repository: cashapp/redwood
Pull request #580 (2022-12-01 20:21:43)

Rename flexcontainer package -> flexbox.
Resolves: https://github.com/cashapp/redwood/issues/578


Patch:
diff --git a/build-support/src/main/kotlin/app/cash/redwood/buildsupport/copyPasta.kt b/build-support/src/main/kotlin/app/cash/redwood/buildsupport/copyPasta.kt
index 35a3ffe4f..135d893c1 100644
--- a/build-support/src/main/kotlin/app/cash/redwood/buildsupport/copyPasta.kt
+++ b/build-support/src/main/kotlin/app/cash/redwood/buildsupport/copyPasta.kt
@@ -32,8 +32,8 @@ object ComposeHelpers {
   @JvmStatic fun TaskContainer.get(packageName: String) = create("composeHelpers", packageName)
 }
 
-object FlexContainerHelpers {
-  @JvmStatic fun TaskContainer.get(packageName: String) = create("flexContainerHelpers", packageName)
+object FlexboxHelpers {
+  @JvmStatic fun TaskContainer.get(packageName: String) = create("flexboxHelpers", packageName)
 }
 
 private fun TaskContainer.create(fileName: String, packageName: String): TaskProvider<CopyPastaTask> {
diff --git a/build-support/src/main/resources/app/cash/redwood/buildsupport/flexContainerHelpers.kt b/build-support/src/main/resources/app/cash/redwood/buildsupport/flexboxHelpers.kt
similarity index 92%
rename from build-support/src/main/resources/app/cash/redwood/buildsupport/flexContainerHelpers.kt
rename to build-support/src/main/resources/app/cash/redwood/buildsupport/flexboxHelpers.kt
index 55858c175..7a223be4b 100644
--- a/build-support/src/main/resources/app/cash/redwood/buildsupport/flexContainerHelpers.kt
+++ b/build-support/src/main/resources/app/cash/redwood/buildsupport/flexboxHelpers.kt
@@ -15,9 +15,9 @@
  */
 package com.example
 
-import app.cash.redwood.flexcontainer.AlignItems
-import app.cash.redwood.flexcontainer.AlignSelf
-import app.cash.redwood.flexcontainer.JustifyContent
+import app.cash.redwood.flexbox.AlignItems
+import app.cash.redwood.flexbox.AlignSelf
+import app.cash.redwood.flexbox.JustifyContent
 import app.cash.redwood.layout.api.CrossAxisAlignment
 import app.cash.redwood.layout.api.MainAxisAlignment
 
diff --git a/redwood-flex-container/build.gradle b/redwood-flex-container/build.gradle
index 6228ef533..f1bd59028 100644
--- a/redwood-flex-container/build.gradle
+++ b/redwood-flex-container/build.gradle
@@ -18,10 +18,10 @@ spotless {
   kotlin {
     targetExclude(
       // Apache 2-licensed files from Google.
-      "src/commonMain/kotlin/app/cash/redwood/flexcontainer/FlexContainer.kt",
-      "src/commonMain/kotlin/app/cash/redwood/flexcontainer/FlexItem.kt",
-      "src/commonMain/kotlin/app/cash/redwood/flexcontainer/FlexLine.kt",
-      "src/commonTest/kotlin/app/cash/redwood/flexcontainer/FlexContainerTest.kt",
+      "src/commonMain/kotlin/app/cash/redwood/flexbox/FlexContainer.kt",
+      "src/commonMain/kotlin/app/cash/redwood/flexbox/FlexItem.kt",
+      "src/commonMain/kotlin/app/cash/redwood/flexbox/FlexLine.kt",
+      "src/commonTest/kotlin/app/cash/redwood/flexbox/FlexContainerTest.kt",
     )
   }
 }
diff --git a/redwood-flex-container/src/commonMain/kotlin/app/cash/redwood/flexcontainer/FlexContainer.kt b/redwood-flex-container/src/commonMain/kotlin/app/cash/redwood/flexbox/FlexContainer.kt
similarity index 99%
rename from redwood-flex-container/src/commonMain/kotlin/app/cash/redwood/flexcontainer/FlexContainer.kt
rename to redwood-flex-container/src/commonMain/kotlin/app/cash/redwood/flexbox/FlexContainer.kt
index 4b060fceb..df8a16ffa 100644
--- a/redwood-flex-container/src/commonMain/kotlin/app/cash/redwood/flexcontainer/FlexContainer.kt
+++ b/redwood-flex-container/src/commonMain/kotlin/app/cash/redwood/flexbox/FlexContainer.kt
@@ -14,12 +14,12 @@
  * limitations under the License.
  */
 
-package app.cash.redwood.flexcontainer
+package app.cash.redwood.flexbox
 
-import app.cash.redwood.flexcontainer.FlexItem.Companion.DefaultFlexBasisPercent
-import app.cash.redwood.flexcontainer.FlexItem.Companion.DefaultFlexGrow
-import app.cash.redwood.flexcontainer.FlexItem.Companion.UndefinedFlexShrink
-import app.cash.redwood.flexcontainer.Measurable.Companion.MatchParent
+import app.cash.redwood.flexbox.FlexItem.Companion.DefaultFlexBasisPercent
+import app.cash.redwood.flexbox.FlexItem.Companion.DefaultFlexGrow
+import app.cash.redwood.flexbox.FlexItem.Companion.UndefinedFlexShrink
+import app.cash.redwood.flexbox.Measurable.Companion.MatchParent
 import kotlin.math.roundToInt
 
 /**
diff --git a/redwood-flex-container/src/commonMain/kotlin/app/cash/redwood/flexcontainer/FlexItem.kt b/redwood-flex-container/src/commonMain/kotlin/app/cash/redwood/flexbox/FlexItem.kt
similarity index 99%
rename from redwood-flex-container/src/commonMain/kotlin/app/cash/redwood/flexcontainer/FlexItem.kt
rename to redwood-flex-container/src/commonMain/kotlin/app/cash/redwood/flexbox/FlexItem.kt
index 8502593eb..533d8f881 100644
--- a/redwood-flex-container/src/commonMain/kotlin/app/cash/redwood/flexcontainer/FlexItem.kt
+++ b/redwood-flex-container/src/commonMain/kotlin/app/cash/redwood/flexbox/FlexItem.kt
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package app.cash.redwood.flexcontainer
+package app.cash.redwood.flexbox
 
 /**
  * An item with properties that can be measured and laid out inside a [FlexContainer].
diff --git a/redwood-flex-container/src/commonMain/kotlin/app/cash/redwood/flexcontainer/FlexLine.kt b/redwood-flex-container/src/commonMain/kotlin/app/cash/redwood/flexbox/FlexLine.kt
similarity index 92%
rename from redwood-flex-container/src/commonMain/kotlin/app/cash/redwood/flexcontainer/FlexLine.kt
rename to redwood-flex-container/src/commonMain/kotlin/app/cash/redwood/flexbox/FlexLine.kt
index d11baaacd..6ca81c2df 100644
--- a/redwood-flex-container/src/commonMain/kotlin/app/cash/redwood/flexcontainer/FlexLine.kt
+++ b/redwood-flex-container/src/commonMain/kotlin/app/cash/redwood/flexbox/FlexLine.kt
@@ -13,10 +13,10 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package app.cash.redwood.flexcontainer
+package app.cash.redwood.flexbox
 
-import app.cash.redwood.flexcontainer.FlexItem.Companion.DefaultFlexGrow
-import app.cash.redwood.flexcontainer.FlexItem.Companion.UndefinedFlexShrink
+import app.cash.redwood.flexbox.FlexItem.Companion.DefaultFlexGrow
+import app.cash.redwood.flexbox.FlexItem.Companion.UndefinedFlexShrink
 
 /**
  * Holds properties related to a single line of [FlexItem]s.
diff --git a/redwood-flex-container/src/commonMain/kotlin/app/cash/redwood/flexcontainer/Measurable.kt b/redwood-flex-container/src/commonMain/kotlin/app/cash/redwood/flexbox/Measurable.kt
similarity index 98%
rename from redwood-flex-container/src/commonMain/kotlin/app/cash/redwood/flexcontainer/Measurable.kt
rename to redwood-flex-container/src/commonMain/kotlin/app/cash/redwood/flexbox/Measurable.kt
index 6338f20f5..e8b3e90bb 100644
--- a/redwood-flex-container/src/commonMain/kotlin/app/cash/redwood/flexcontainer/Measurable.kt
+++ b/redwood-flex-container/src/commonMain/kotlin/app/cash/redwood/flexbox/Measurable.kt
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package app.cash.redwood.flexcontainer
+package app.cash.redwood.flexbox
 
 public open class Measurable {
   /**
diff --git a/redwood-flex-container/src/commonMain/kotlin/app/cash/redwood/flexcontainer/MeasureResult.kt b/redwood-flex-container/src/commonMain/kotlin/app/cash/redwood/flexbox/MeasureResult.kt
similarity index 95%
rename from redwood-flex-container/src/commonMain/kotlin/app/cash/redwood/flexcontainer/MeasureResult.kt
rename to redwood-flex-container/src/commonMain/kotlin/app/cash/redwood/flexbox/MeasureResult.kt
index 2ee8bfd84..a0b9a49c8 100644
--- a/redwood-flex-container/src/commonMain/kotlin/app/cash/redwood/flexcontainer/MeasureResult.kt
+++ b/redwood-flex-container/src/commonMain/kotlin/app/cash/redwood/flexbox/MeasureResult.kt
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package app.cash.redwood.flexcontainer
+package app.cash.redwood.flexbox
 
 /**
  * Holds the state produced by calling [FlexContainer.measure].
diff --git a/redwood-flex-container/src/commonMain/kotlin/app/cash/redwood/flexcontainer/Orientation.kt b/redwood-flex-container/src/commonMain/kotlin/app/cash/redwood/flexbox/Orientation.kt
similarity index 98%
rename from redwood-flex-container/src/commonMain/kotlin/app/cash/redwood/flexcontainer/Orientation.kt
rename to redwood-flex-container/src/commonMain/kotlin/app/cash/redwood/flexbox/Orientation.kt
index a0c79a9f8..1719f7840 100644
--- a/redwood-flex-container/src/commonMain/kotlin/app/cash/redwood/flexcontainer/Orientation.kt
+++ b/redwood-flex-container/src/commonMain/kotlin/app/cash/redwood/flexbox/Orientation.kt
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package app.cash.redwood.flexcontainer
+package app.cash.redwood.flexbox
 
 internal fun FlexDirection.toOrientation(): Orientation {
   return if (isHorizontal) Orientation.Horizontal else Orientation.Vertical
diff --git a/redwood-flex-container/src/commonMain/kotlin/app/cash/redwood/flexcontainer/properties.kt b/redwood-flex-container/src/commonMain/kotlin/app/cash/redwood/flexbox/properties.kt
similarity index 99%
rename from redwood-flex-container/src/commonMain/kotlin/app/cash/redwood/flexcontainer/properties.kt
rename to redwood-flex-container/src/commonMain/kotlin/app/cash/redwood/flexbox/properties.kt
index e1d159c94..07ec5495d 100644
--- a/redwood-flex-container/src/commonMain/kotlin/app/cash/redwood/flexcontainer/properties.kt
+++ b/redwood-flex-container/src/commonMain/kotlin/app/cash/redwood/flexbox/properties.kt
@@ -15,7 +15,7 @@
  */
 @file:Suppress("MemberVisibilityCanBePrivate")
 
-package app.cash.redwood.flexcontainer
+package app.cash.redwood.flexbox
 
 import kotlin.jvm.JvmInline
 
diff --git a/redwood-flex-container/src/commonMain/kotlin/app/cash/redwood/flexcontainer/utils.kt b/redwood-flex-container/src/commonMain/kotlin/app/cash/redwood/flexbox/utils.kt
similarity index 95%
rename from redwood-flex-container/src/commonMain/kotlin/app/cash/redwood/flexcontainer/utils.kt
rename to redwood-flex-container/src/commonMain/kotlin/app/cash/redwood/flexbox/utils.kt
index b1ce4dbda..feccfba45 100644
--- a/redwood-flex-container/src/commonMain/kotlin/app/cash/redwood/flexcontainer/utils.kt
+++ b/redwood-flex-container/src/commonMain/kotlin/app/cash/redwood/flexbox/utils.kt
@@ -13,10 +13,10 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package app.cash.redwood.flexcontainer
+package app.cash.redwood.flexbox
 
-import app.cash.redwood.flexcontainer.Measurable.Companion.MatchParent
-import app.cash.redwood.flexcontainer.Measurable.Companion.WrapContent
+import app.cash.redwood.flexbox.Measurable.Companion.MatchParent
+import app.cash.redwood.flexbox.Measurable.Companion.WrapContent
 
 internal fun AlignSelf.toAlignItems() = when (this) {
   AlignSelf.FlexStart -> AlignItems.FlexStart
diff --git a/redwood-layout-composeui/build.gradle b/redwood-layout-composeui/build.gradle
index 7ce01efd1..958a0e40c 100644
--- a/redwood-layout-composeui/build.gradle
+++ b/redwood-layout-composeui/build.gradle
@@ -1,4 +1,4 @@
-import app.cash.redwood.buildsupport.FlexContainerHelpers
+import app.cash.redwood.buildsupport.FlexboxHelpers
 
 apply plugin: 'com.android.library'
 apply plugin: 'org.jetbrains.kotlin.android'
@@ -23,7 +23,7 @@ android {
     compose = true
   }
 
-  def helpers = FlexContainerHelpers.get(tasks, 'app.cash.redwood.layout.composeui').get()
+  def helpers = FlexboxHelpers.get(tasks, 'app.cash.redwood.layout.composeui').get()
   // TODO Should be able to do `sourceSets.main.kotlin.srcDir(helpers)`.
   //  https://issuetracker.google.com/issues/249468390
   libraryVariants.all { variant ->
diff --git a/redwood-layout-composeui/src/main/kotlin/app/cash/redwood/layout/composeui/ComposeColumn.kt b/redwood-layout-composeui/src/main/kotlin/app/cash/redwood/layout/composeui/ComposeColumn.kt
index e4c197b6a..5c1ec647d 100644
--- a/redwood-layout-composeui/src/main/kotlin/app/cash/redwood/layout/composeui/ComposeColumn.kt
+++ b/redwood-layout-composeui/src/main/kotlin/app/cash/redwood/layout/composeui/ComposeColumn.kt
@@ -17,7 +17,7 @@ package app.cash.redwood.layout.composeui
 
 import androidx.compose.runtime.Composable
 import app.cash.redwood.LayoutModifier
-import app.cash.redwood.flexcontainer.FlexDirection
+import app.cash.redwood.flexbox.FlexDirection
 import app.cash.redwood.layout.api.Constraint
 import app.cash.redwood.layout.api.CrossAxisAlignment
 import app.cash.redwood.layout.api.MainAxisAlignment
diff --git a/redwood-layout-composeui/src/main/kotlin/app/cash/redwood/layout/composeui/ComposeFlexContainer.kt b/redwood-layout-composeui/src/main/kotlin/app/cash/redwood/layout/composeui/ComposeFlexContainer.kt
index 381ec2335..7666a7140 100644
--- a/redwood-layout-composeui/src/main/kotlin/app/cash/redwood/layout/composeui/ComposeFlexContainer.kt
+++ b/redwood-layout-composeui/src/main/kotlin/app/cash/redwood/layout/composeui/ComposeFlexContainer.kt
@@ -30,11 +30,11 @@ import androidx.compose.ui.layout.MeasureResult
 import androidx.compose.ui.layout.MeasureScope
 import androidx.compose.ui.platform.LocalContext
 import androidx.compose.ui.unit.Constraints
-import app.cash.redwood.flexcontainer.AlignItems
-import app.cash.redwood.flexcontainer.FlexContainer
-import app.cash.redwood.flexcontainer.FlexDirection
-import app.cash.redwood.flexcontainer.JustifyContent
-import app.cash.redwood.flexcontainer.isHorizontal
+import app.cash.redwood.flexbox.AlignItems
+import app.cash.redwood.flexbox.FlexContainer
+import app.cash.redwood.flexbox.FlexDirection
+import app.cash.redwood.flexbox.JustifyContent
+import app.cash.redwood.flexbox.isHorizontal
 import app.cash.redwood.layout.api.Constraint
 import app.cash.redwood.layout.api.Overflow
 import app.cash.redwood.layout.api.Padding
diff --git a/redwood-layout-composeui/src/main/kotlin/app/cash/redwood/layout/composeui/ComposeRow.kt b/redwood-layout-composeui/src/main/kotlin/app/cash/redwood/layout/composeui/ComposeRow.kt
index cb93ce5d1..99e0b39cc 100644
--- a/redwood-layout-composeui/src/main/kotlin/app/cash/redwood/layout/composeui/ComposeRow.kt
+++ b/redwood-layout-composeui/src/main/kotlin/app/cash/redwood/layout/composeui/ComposeRow.kt
@@ -17,7 +17,7 @@ package app.cash.redwood.layout.composeui
 
 import androidx.compose.runtime.Composable
 import app.cash.redwood.LayoutModifier
-import app.cash.redwood.flexcontainer.FlexDirection
+import app.cash.redwood.flexbox.FlexDirection
 import app.cash.redwood.layout.api.Constraint
 import app.cash.redwood.layout.api.CrossAxisAlignment
 import app.cash.redwood.layout.api.MainAxisAlignment
diff --git a/redwood-layout-composeui/src/main/kotlin/app/cash/redwood/layout/composeui/utils.kt b/redwood-layout-composeui/src/main/kotlin/app/cash/redwood/layout/composeui/utils.kt
index 30bd46c04..9c44515e4 100644
--- a/redwood-layout-composeui/src/main/kotlin/app/cash/redwood/layout/composeui/utils.kt
+++ b/redwood-layout-composeui/src/main/kotlin/app/cash/redwood/layout/composeui/utils.kt
@@ -20,18 +20,18 @@ import androidx.compose.ui.layout.Measurable
 import androidx.compose.ui.layout.Placeable
 import androidx.compose.ui.unit.Constraints
 import app.cash.redwood.LayoutModifier
-import app.cash.redwood.flexcontainer.AlignSelf
-import app.cash.redwood.flexcontainer.FlexDirection
-import app.cash.redwood.flexcontainer.FlexItem
-import app.cash.redwood.flexcontainer.FlexItem.Companion.DefaultFlexGrow
-import app.cash.redwood.flexcontainer.FlexItem.Companion.DefaultFlexShrink
-import app.cash.redwood.flexcontainer.Measurable as RedwoodMeasurable
-import app.cash.redwood.flexcontainer.MeasureSpec
-import app.cash.redwood.flexcontainer.MeasureSpecMode
-import app.cash.redwood.flexcontainer.Size
-import app.cash.redwood.flexcontainer.Spacing
-import app.cash.redwood.flexcontainer.isHorizontal
-import app.cash.redwood.flexcontainer.isVertical
+import app.cash.redwood.flexbox.AlignSelf
+import app.cash.redwood.flexbox.FlexDirection
+import app.cash.redwood.flexbox.FlexItem
+import app.cash.redwood.flexbox.FlexItem.Companion.DefaultFlexGrow
+import app.cash.redwood.flexbox.FlexItem.Companion.DefaultFlexShrink
+import app.cash.redwood.flexbox.Measurable as RedwoodMeasurable
+import app.cash.redwood.flexbox.MeasureSpec
+import app.cash.redwood.flexbox.MeasureSpecMode
+import app.cash.redwood.flexbox.Size
+import app.cash.redwood.flexbox.Spacing
+import app.cash.redwood.flexbox.isHorizontal
+import app.cash.redwood.flexbox.isVertical
 import app.cash.redwood.layout.Grow
 import app.cash.redwood.layout.HorizontalAlignment
 import app.cash.redwood.layout.Padding as PaddingModifier
diff --git a/redwood-layout-uiview/build.gradle b/redwood-layout-uiview/build.gradle
index 90f879c8f..df92d1382 100644
--- a/redwood-layout-uiview/build.gradle
+++ b/redwood-layout-uiview/build.gradle
@@ -1,4 +1,4 @@
-import app.cash.redwood.buildsupport.FlexContainerHelpers
+import app.cash.redwood.buildsupport.FlexboxHelpers
 
 apply plugin: 'org.jetbrains.kotlin.multiplatform'
 apply plugin: 'com.vanniktech.maven.publish'
@@ -11,7 +11,7 @@ kotlin {
 
   sourceSets {
     commonMain {
-      kotlin.srcDir(FlexContainerHelpers.get(tasks, 'app.cash.redwood.layout.uiview'))
+      kotlin.srcDir(FlexboxHelpers.get(tasks, 'app.cash.redwood.layout.uiview'))
       dependencies {
         api projects.redwoodLayoutSchema.widget
         implementation projects.redwoodFlexContainer
diff --git a/redwood-layout-uiview/src/commonMain/kotlin/app/cash/redwood/layout/uiview/RedwoodUIScrollViewDelegate.kt b/redwood-layout-uiview/src/commonMain/kotlin/app/cash/redwood/layout/uiview/RedwoodUIScrollViewDelegate.kt
index b9f78962e..e23e0d47b 100644
--- a/redwood-layout-uiview/src/commonMain/kotlin/app/cash/redwood/layout/uiview/RedwoodUIScrollViewDelegate.kt
+++ b/redwood-layout-uiview/src/commonMain/kotlin/app/cash/redwood/layout/uiview/RedwoodUIScrollViewDelegate.kt
@@ -15,7 +15,7 @@
  */
 package app.cash.redwood.layout.uiview
 
-import app.cash.redwood.flexcontainer.Size
+import app.cash.redwood.flexbox.Size
 import platform.UIKit.UIScrollView
 
 /**
diff --git a/redwood-layout-uiview/src/commonMain/kotlin/app/cash/redwood/layout/uiview/UIViewColumn.kt b/redwood-layout-uiview/src/commonMain/kotlin/app/cash/redwood/layout/uiview/UIViewColumn.kt
index 4e3c07f74..9b3bb94d0 100644
--- a/redwood-layout-uiview/src/commonMain/kotlin/app/cash/redwood/layout/uiview/UIViewColumn.kt
+++ b/redwood-layout-uiview/src/commonMain/kotlin/app/cash/redwood/layout/uiview/UIViewColumn.kt
@@ -16,7 +16,7 @@
 package app.cash.redwood.layout.uiview
 
 import app.cash.redwood.LayoutModifier
-import app.cash.redwood.flexcontainer.FlexDirection
+import app.cash.redwood.flexbox.FlexDirection
 import app.cash.redwood.layout.api.Constraint
 import app.cash.redwood.layout.api.CrossAxisAlignment
 import app.cash.redwood.layout.api.MainAxisAlignment
diff --git a/redwood-layout-uiview/src/commonMain/kotlin/app/cash/redwood/layout/uiview/UIViewFlexContainer.kt b/redwood-layout-uiview/src/commonMain/kotlin/app/cash/redwood/layout/uiview/UIViewFlexContainer.kt
index a8c2b1357..d0140ed5b 100644
--- a/redwood-layout-uiview/src/commonMain/kotlin/app/cash/redwood/layout/uiview/UIViewFlexContainer.kt
+++ b/redwood-layout-uiview/src/commonMain/kotlin/app/cash/redwood/layout/uiview/UIViewFlexContainer.kt
@@ -15,11 +15,11 @@
  */
 package app.cash.redwood.layout.uiview
 
-import app.cash.redwood.flexcontainer.AlignItems
-import app.cash.redwood.flexcontainer.FlexContainer
-import app.cash.redwood.flexcontainer.FlexDirection
-import app.cash.redwood.flexcontainer.JustifyContent
-import app.cash.redwood.flexcontainer.MeasureResult
+import app.cash.redwood.flexbox.AlignItems
+import app.cash.redwood.flexbox.FlexContainer
+import app.cash.redwood.flexbox.FlexDirection
+import app.cash.redwood.flexbox.JustifyContent
+import app.cash.redwood.flexbox.MeasureResult
 import app.cash.redwood.layout.api.Constraint
 import app.cash.redwood.layout.api.Overflow
 import app.cash.redwood.layout.api.Padding
diff --git a/redwood-layout-uiview/src/commonMain/kotlin/app/cash/redwood/layout/uiview/UIViewRow.kt b/redwood-layout-uiview/src/commonMain/kotlin/app/cash/redwood/layout/uiview/UIViewRow.kt
index 5f89d43f9..9f7fe6e6d 100644
--- a/redwood-layout-uiview/src/commonMain/kotlin/app/cash/redwood/layout/uiview/UIViewRow.kt
+++ b/redwood-layout-uiview/src/commonMain/kotlin/app/cash/redwood/layout/uiview/UIViewRow.kt
@@ -16,7 +16,7 @@
 package app.cash.redwood.layout.uiview
 
 import app.cash.redwood.LayoutModifier
-import app.cash.redwood.flexcontainer.FlexDirection
+import app.cash.redwood.flexbox.FlexDirection
 import app.cash.redwood.layout.api.Constraint
 import app.cash.redwood.layout.api.CrossAxisAlignment
 import app.cash.redwood.layout.api.MainAxisAlignment
diff --git a/redwood-layout-uiview/src/commonMain/kotlin/app/cash/redwood/layout/uiview/utils.kt b/redwood-layout-uiview/src/commonMain/kotlin/app/cash/redwood/layout/uiview/utils.kt
index 711fb0d3e..5ec9c9811 100644
--- a/redwood-layout-uiview/src/commonMain/kotlin/app/cash/redwood/layout/uiview/utils.kt
+++ b/redwood-layout-uiview/src/commonMain/kotlin/app/cash/redwood/layout/uiview/utils.kt
@@ -16,18 +16,18 @@
 package app.cash.redwood.layout.uiview
 
 import app.cash.redwood.LayoutModifier
-import app.cash.redwood.flexcontainer.AlignSelf
-import app.cash.redwood.flexcontainer.FlexDirection
-import app.cash.redwood.flexcontainer.FlexItem
-import app.cash.redwood.flexcontainer.FlexItem.Companion.DefaultFlexGrow
-import app.cash.redwood.flexcontainer.FlexItem.Companion.DefaultFlexShrink
-import app.cash.redwood.flexcontainer.Measurable
-import app.cash.redwood.flexcontainer.MeasureSpec
-import app.cash.redwood.flexcontainer.MeasureSpecMode
-import app.cash.redwood.flexcontainer.Size
-import app.cash.redwood.flexcontainer.Spacing
-import app.cash.redwood.flexcontainer.isHorizontal
-import app.cash.redwood.flexcontainer.isVertical
+import app.cash.redwood.flexbox.AlignSelf
+import app.cash.redwood.flexbox.FlexDirection
+import app.cash.redwood.flexbox.FlexItem
+import app.cash.redwood.flexbox.FlexItem.Companion.DefaultFlexGrow
+import app.cash.redwood.flexbox.FlexItem.Companion.DefaultFlexShrink
+import app.cash.redwood.flexbox.Measurable
+import app.cash.redwood.flexbox.MeasureSpec
+import app.cash.redwood.flexbox.MeasureSpecMode
+import app.cash.redwood.flexbox.Size
+import app.cash.redwood.flexbox.Spacing
+import app.cash.redwood.flexbox.isHorizontal
+import app.cash.redwood.flexbox.isVertical
 import app.cash.redwood.layout.Grow
 import app.cash.redwood.layout.HorizontalAlignment
 import app.cash.redwood.layout.Padding as PaddingModifier
diff --git a/redwood-layout-view/build.gradle b/redwood-layout-view/build.gradle
index 043b99482..77650d18a 100644
--- a/redwood-layout-view/build.gradle
+++ b/redwood-layout-view/build.gradle
@@ -1,4 +1,4 @@
-import app.cash.redwood.buildsupport.FlexContainerHelpers
+import app.cash.redwood.buildsupport.FlexboxHelpers
 
 apply plugin: 'com.android.library'
 apply plugin: 'org.jetbrains.kotlin.android'
@@ -17,7 +17,7 @@ dependencies {
 android {
   namespace 'app.cash.redwood.layout.view'
 
-  def helpers = FlexContainerHelpers.get(tasks, 'app.cash.redwood.layout.view').get()
+  def helpers = FlexboxHelpers.get(tasks, 'app.cash.redwood.layout.view').get()
   // TODO Should be able to do `sourceSets.main.kotlin.srcDir(helpers)`.
   //  https://issuetracker.google.com/issues/249468390
   libraryVariants.all { variant ->
diff --git a/redwood-layout-view/src/main/kotlin/app/cash/redwood/layout/view/ViewColumn.kt b/redwood-layout-view/src/main/kotlin/app/cash/redwood/layout/view/ViewColumn.kt
index 09fbbd400..0f89aa2f2 100644
--- a/redwood-layout-view/src/main/kotlin/app/cash/redwood/layout/view/ViewColumn.kt
+++ b/redwood-layout-view/src/main/kotlin/app/cash/redwood/layout/view/ViewColumn.kt
@@ -18,7 +18,7 @@ package app.cash.redwood.layout.view
 import android.content.Context
 import android.view.View
 import app.cash.redwood.LayoutModifier
-import app.cash.redwood.flexcontainer.FlexDirection
+import app.cash.redwood.flexbox.FlexDirection
 import app.cash.redwood.layout.api.Constraint
 import app.cash.redwood.layout.api.CrossAxisAlignment
 import app.cash.redwood.layout.api.MainAxisAlignment
diff --git a/redwood-layout-view/src/main/kotlin/app/cash/redwood/layout/view/ViewFlexContainer.kt b/redwood-layout-view/src/main/kotlin/app/cash/redwood/layout/view/ViewFlexContainer.kt
index d191cfd0c..d19d9eeea 100644
--- a/redwood-layout-view/src/main/kotlin/app/cash/redwood/layout/view/ViewFlexContainer.kt
+++ b/redwood-layout-view/src/main/kotlin/app/cash/redwood/layout/view/ViewFlexContainer.kt
@@ -22,14 +22,14 @@ import android.view.View
 import android.view.ViewGroup
 import android.widget.HorizontalScrollView
 import androidx.core.widget.NestedScrollView
-import app.cash.redwood.flexcontainer.AlignItems
-import app.cash.redwood.flexcontainer.FlexContainer
-import app.cash.redwood.flexcontainer.FlexDirection
-import app.cash.redwood.flexcontainer.JustifyContent
-import app.cash.redwood.flexcontainer.MeasureResult
-import app.cash.redwood.flexcontainer.MeasureSpec as RedwoodMeasureSpec
-import app.cash.redwood.flexcontainer.Size
-import app.cash.redwood.flexcontainer.isHorizontal
+import app.cash.redwood.flexbox.AlignItems
+import app.cash.redwood.flexbox.FlexContainer
+import app.cash.redwood.flexbox.FlexDirection
+import app.cash.redwood.flexbox.JustifyContent
+import app.cash.redwood.flexbox.MeasureResult
+import app.cash.redwood.flexbox.MeasureSpec as RedwoodMeasureSpec
+import app.cash.redwood.flexbox.Size
+import app.cash.redwood.flexbox.isHorizontal
 import app.cash.redwood.layout.api.Constraint
 import app.cash.redwood.layout.api.Overflow
 import app.cash.redwood.layout.api.Padding
diff --git a/redwood-layout-view/src/main/kotlin/app/cash/redwood/layout/view/ViewRow.kt b/redwood-layout-view/src/main/kotlin/app/cash/redwood/layout/view/ViewRow.kt
index 259008e9c..58fe89f81 100644
--- a/redwood-layout-view/src/main/kotlin/app/cash/redwood/layout/view/ViewRow.kt
+++ b/redwood-layout-view/src/main/kotlin/app/cash/redwood/layout/view/ViewRow.kt
@@ -18,7 +18,7 @@ package app.cash.redwood.layout.view
 import android.content.Context
 import android.view.View
 import app.cash.redwood.LayoutModifier
-import app.cash.redwood.flexcontainer.FlexDirection
+import app.cash.redwood.flexbox.FlexDirection
 import app.cash.redwood.layout.api.Constraint
 import app.cash.redwood.layout.api.CrossAxisAlignment
 import app.cash.redwood.layout.api.MainAxisAlignment
diff --git a/redwood-layout-view/src/main/kotlin/app/cash/redwood/layout/view/utils.kt b/redwood-layout-view/src/main/kotlin/app/cash/redwood/layout/view/utils.kt
index 9018005a5..7249ad64f 100644
--- a/redwood-layout-view/src/main/kotlin/app/cash/redwood/layout/view/utils.kt
+++ b/redwood-layout-view/src/main/kotlin/app/cash/redwood/layout/view/utils.kt
@@ -18,18 +18,18 @@ package app.cash.redwood.layout.view
 import android.content.Context
 import android.view.View
 import app.cash.redwood.LayoutModifier
-import app.cash.redwood.flexcontainer.AlignSelf
-import app.cash.redwood.flexcontainer.FlexDirection
-import app.cash.redwood.flexcontainer.FlexItem
-import app.cash.redwood.flexcontainer.FlexItem.Companion.DefaultFlexGrow
-import app.cash.redwood.flexcontainer.FlexItem.Companion.DefaultFlexShrink
-import app.cash.redwood.flexcontainer.Measurable
-import app.cash.redwood.flexcontainer.MeasureSpec
-import app.cash.redwood.flexcontainer.MeasureSpecMode
-import app.cash.redwood.flexcontainer.Size
-import app.cash.redwood.flexcontainer.Spacing
-import app.cash.redwood.flexcontainer.isHorizontal
-import app.cash.redwood.flexcontainer.isVertical
+import app.cash.redwood.flexbox.AlignSelf
+import app.cash.redwood.flexbox.FlexDirection
+import app.cash.redwood.flexbox.FlexItem
+import app.cash.redwood.flexbox.FlexItem.Companion.DefaultFlexGrow
+import app.cash.redwood.flexbox.FlexItem.Companion.DefaultFlexShrink
+import app.cash.redwood.flexbox.Measurable
+import app.cash.redwood.flexbox.MeasureSpec
+import app.cash.redwood.flexbox.MeasureSpecMode
+import app.cash.redwood.flexbox.Size
+import app.cash.redwood.flexbox.Spacing
+import app.cash.redwood.flexbox.isHorizontal
+import app.cash.redwood.flexbox.isVertical
 import app.cash.redwood.layout.Grow
 import app.cash.redwood.layout.HorizontalAlignment
 import app.cash.redwood.layout.Padding as PaddingModifier


Test patch:
diff --git a/redwood-flex-container/src/commonTest/kotlin/app/cash/redwood/flexcontainer/FlexContainerStringCanvasTest.kt b/redwood-flex-container/src/commonTest/kotlin/app/cash/redwood/flexbox/FlexContainerStringCanvasTest.kt
similarity index 98%
rename from redwood-flex-container/src/commonTest/kotlin/app/cash/redwood/flexcontainer/FlexContainerStringCanvasTest.kt
rename to redwood-flex-container/src/commonTest/kotlin/app/cash/redwood/flexbox/FlexContainerStringCanvasTest.kt
index 4a8221be7..da12276c9 100644
--- a/redwood-flex-container/src/commonTest/kotlin/app/cash/redwood/flexcontainer/FlexContainerStringCanvasTest.kt
+++ b/redwood-flex-container/src/commonTest/kotlin/app/cash/redwood/flexbox/FlexContainerStringCanvasTest.kt
@@ -13,10 +13,10 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package app.cash.redwood.flexcontainer
+package app.cash.redwood.flexbox
 
-import app.cash.redwood.flexcontainer.FlexDirection.Companion.Column
-import app.cash.redwood.flexcontainer.FlexDirection.Companion.Row
+import app.cash.redwood.flexbox.FlexDirection.Companion.Column
+import app.cash.redwood.flexbox.FlexDirection.Companion.Row
 import kotlin.test.Test
 import kotlin.test.assertEquals
 
diff --git a/redwood-flex-container/src/commonTest/kotlin/app/cash/redwood/flexcontainer/FlexContainerTest.kt b/redwood-flex-container/src/commonTest/kotlin/app/cash/redwood/flexbox/FlexContainerTest.kt
similarity index 99%
rename from redwood-flex-container/src/commonTest/kotlin/app/cash/redwood/flexcontainer/FlexContainerTest.kt
rename to redwood-flex-container/src/commonTest/kotlin/app/cash/redwood/flexbox/FlexContainerTest.kt
index 2ac919a09..5d98d037d 100644
--- a/redwood-flex-container/src/commonTest/kotlin/app/cash/redwood/flexcontainer/FlexContainerTest.kt
+++ b/redwood-flex-container/src/commonTest/kotlin/app/cash/redwood/flexbox/FlexContainerTest.kt
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package app.cash.redwood.flexcontainer
+package app.cash.redwood.flexbox
 
 import kotlin.test.Test
 import kotlin.test.assertEquals
diff --git a/redwood-flex-container/src/commonTest/kotlin/app/cash/redwood/flexcontainer/StringCanvas.kt b/redwood-flex-container/src/commonTest/kotlin/app/cash/redwood/flexbox/StringCanvas.kt
similarity index 96%
rename from redwood-flex-container/src/commonTest/kotlin/app/cash/redwood/flexcontainer/StringCanvas.kt
rename to redwood-flex-container/src/commonTest/kotlin/app/cash/redwood/flexbox/StringCanvas.kt
index a937c976d..f48c12989 100644
--- a/redwood-flex-container/src/commonTest/kotlin/app/cash/redwood/flexcontainer/StringCanvas.kt
+++ b/redwood-flex-container/src/commonTest/kotlin/app/cash/redwood/flexbox/StringCanvas.kt
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package app.cash.redwood.flexcontainer
+package app.cash.redwood.flexbox
 
 /**
  * A 2D grid of characters. Attempts to draw beyond the bounds are silently ignored.
diff --git a/redwood-flex-container/src/commonTest/kotlin/app/cash/redwood/flexcontainer/StringWidget.kt b/redwood-flex-container/src/commonTest/kotlin/app/cash/redwood/flexbox/StringWidget.kt
similarity index 99%
rename from redwood-flex-container/src/commonTest/kotlin/app/cash/redwood/flexcontainer/StringWidget.kt
rename to redwood-flex-container/src/commonTest/kotlin/app/cash/redwood/flexbox/StringWidget.kt
index 6b1e216d5..23c4d956e 100644
--- a/redwood-flex-container/src/commonTest/kotlin/app/cash/redwood/flexcontainer/StringWidget.kt
+++ b/redwood-flex-container/src/commonTest/kotlin/app/cash/redwood/flexbox/StringWidget.kt
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package app.cash.redwood.flexcontainer
+package app.cash.redwood.flexbox
 
 /**
  * A string that wraps on space characters, and is wrapped with an ASCII-art box. We use a string
diff --git a/redwood-layout-composeui/src/test/kotlin/app/cash/redwood/layout/composeui/ComposeFlexContainerTest.kt b/redwood-layout-composeui/src/test/kotlin/app/cash/redwood/layout/composeui/ComposeFlexContainerTest.kt
index 103cfdfc7..d64515dd5 100644
--- a/redwood-layout-composeui/src/test/kotlin/app/cash/redwood/layout/composeui/ComposeFlexContainerTest.kt
+++ b/redwood-layout-composeui/src/test/kotlin/app/cash/redwood/layout/composeui/ComposeFlexContainerTest.kt
@@ -25,9 +25,9 @@ import androidx.compose.ui.unit.sp
 import app.cash.paparazzi.DeviceConfig
 import app.cash.paparazzi.Paparazzi
 import app.cash.redwood.LayoutModifier
-import app.cash.redwood.flexcontainer.AlignItems
-import app.cash.redwood.flexcontainer.FlexDirection
-import app.cash.redwood.flexcontainer.JustifyContent
+import app.cash.redwood.flexbox.AlignItems
+import app.cash.redwood.flexbox.FlexDirection
+import app.cash.redwood.flexbox.JustifyContent
 import app.cash.redwood.layout.AbstractFlexContainerTest
 import app.cash.redwood.layout.TestFlexContainer
 import app.cash.redwood.layout.api.Constraint
diff --git a/redwood-layout-shared-test/src/main/kotlin/app/cash/redwood/layout/AbstractFlexContainerTest.kt b/redwood-layout-shared-test/src/main/kotlin/app/cash/redwood/layout/AbstractFlexContainerTest.kt
index 2ac3b8c24..0000926ac 100644
--- a/redwood-layout-shared-test/src/main/kotlin/app/cash/redwood/layout/AbstractFlexContainerTest.kt
+++ b/redwood-layout-shared-test/src/main/kotlin/app/cash/redwood/layout/AbstractFlexContainerTest.kt
@@ -16,9 +16,9 @@
 package app.cash.redwood.layout
 
 import app.cash.redwood.LayoutModifier
-import app.cash.redwood.flexcontainer.AlignItems
-import app.cash.redwood.flexcontainer.FlexDirection
-import app.cash.redwood.flexcontainer.JustifyContent
+import app.cash.redwood.flexbox.AlignItems
+import app.cash.redwood.flexbox.FlexDirection
+import app.cash.redwood.flexbox.JustifyContent
 import app.cash.redwood.layout.api.Constraint
 import app.cash.redwood.layout.api.CrossAxisAlignment
 import app.cash.redwood.layout.api.Padding
diff --git a/redwood-layout-view/src/test/kotlin/app/cash/redwood/layout/view/ViewFlexContainerTest.kt b/redwood-layout-view/src/test/kotlin/app/cash/redwood/layout/view/ViewFlexContainerTest.kt
index 145ca8851..e0ff0704a 100644
--- a/redwood-layout-view/src/test/kotlin/app/cash/redwood/layout/view/ViewFlexContainerTest.kt
+++ b/redwood-layout-view/src/test/kotlin/app/cash/redwood/layout/view/ViewFlexContainerTest.kt
@@ -23,9 +23,9 @@ import android.widget.TextView
 import app.cash.paparazzi.DeviceConfig
 import app.cash.paparazzi.Paparazzi
 import app.cash.redwood.LayoutModifier
-import app.cash.redwood.flexcontainer.AlignItems
-import app.cash.redwood.flexcontainer.FlexDirection
-import app.cash.redwood.flexcontainer.JustifyContent
+import app.cash.redwood.flexbox.AlignItems
+import app.cash.redwood.flexbox.FlexDirection
+import app.cash.redwood.flexbox.JustifyContent
 import app.cash.redwood.layout.AbstractFlexContainerTest
 import app.cash.redwood.layout.TestFlexContainer
 import app.cash.redwood.layout.api.Constraint