Las dimensiones de sabor de gradle de Android Studio no funcionan correctamente

Tengo dos dimensiones de una aplicación, luego llamo verde y azul. Solo habrá estas dos dimensiones, pero un número ilimitado de productos. Esta es la forma en que lo estoy configurando en gradle

flavorDimensions "green", "blue"

productFlavors {

    one {
        applicationId "com.app.green.one"
        versionCode 1
        versionName "1.0.0.1";
        flavorDimension = "green"
    }
    two {
        applicationId "com.app.blue.two"
        versionCode 6
        versionName "1.0.1";
        flavorDimension = "blue"
    }
}

Pero luego, después de sincronizar gradle, en la pestaña de variantes de compilación todo lo que veo es oneTwoDebug y oneTwoRelease, donde debería ver greenOneDebug greenOneRelease, blueTwoDebug, blueTwoRelease

En teoría, quiero extenderlo para que sea algo como esto

one {
    applicationId "com.app.green.one"
    versionCode 1
    versionName "1.0.0.1";
    flavorDimension = "green"
}
two {
    applicationId "com.app.blue.two"
    versionCode 6
    versionName "1.0.1";
    flavorDimension = "blue"
}
three {
    applicationId "com.app.green.three"
    versionCode 1
    versionName "1.0.0.1";
    flavorDimension = "green"
}
four {
    applicationId "com.app.blue.four"
    versionCode 6
    versionName "1.0.1";
    flavorDimension = "blue"
}

En este caso, las dimensiones representan el "tipo" de aplicación, y luego los sabores son más para las organizaciones que se pueden agregar.

** EDITAR Tenía una configuración incorrecta para gradle como se señala aquí, es una descripción más precisa de lo que tengo

flavorDimensions "type", "organization"

productFlavors {

    blue {
        applicationId "com.app.blue"
        flavorDimension = "type"
        versionCode 6
        versionName "1.0.1";
    }
    red {
        applicationId "com.app.red"
        flavorDimension = "type"
        versionCode 1
        versionName "1.0.0.1";
    }

    company1 {
        flavorDimension = "organization"
    }
    company2 {
        flavorDimension = "organization"
    }
}

Hasta ahora esto funciona, así que puedo crear directorios de origen de Java para alternar tipos, pero ¿qué pasa si quiero archivos de configuración específicos de la organización, también creo directorios de origen de Java para cada organización?