Skip to content

Commit

Permalink
Replaced windowsAwareYarn with windowsAwareCommandLine for node calls
Browse files Browse the repository at this point in the history
It is not necessary to call node via yarn. Instead with this commit node is called directly (windows aware). This enables builds on systems that don't have yarn installed.
  • Loading branch information
danilobuerger committed Apr 1, 2022
1 parent 16397e0 commit 4f1fed2
Show file tree
Hide file tree
Showing 4 changed files with 4 additions and 29 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
package com.facebook.react.tasks

import com.facebook.react.codegen.generator.JavaGenerator
import com.facebook.react.utils.windowsAwareYarn
import com.facebook.react.utils.windowsAwareCommandLine
import org.gradle.api.GradleException
import org.gradle.api.file.Directory
import org.gradle.api.file.DirectoryProperty
Expand Down Expand Up @@ -93,7 +93,7 @@ abstract class GenerateCodegenArtifactsTask : Exec() {

internal fun setupCommandLine() {
commandLine(
windowsAwareYarn(
windowsAwareCommandLine(
*nodeExecutableAndArgs.get().toTypedArray(),
reactNativeDir.file("scripts/generate-specs-cli.js").get().asFile.absolutePath,
"--platform",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

package com.facebook.react.tasks

import com.facebook.react.utils.windowsAwareYarn
import com.facebook.react.utils.windowsAwareCommandLine
import org.gradle.api.file.DirectoryProperty
import org.gradle.api.file.RegularFile
import org.gradle.api.provider.ListProperty
Expand Down Expand Up @@ -49,7 +49,7 @@ abstract class GenerateCodegenSchemaTask : Exec() {

internal fun setupCommandLine() {
commandLine(
windowsAwareYarn(
windowsAwareCommandLine(
*nodeExecutableAndArgs.get().toTypedArray(),
codegenDir
.file("lib/cli/combine/combine-js-to-schema-cli.js")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,6 @@ internal fun windowsAwareCommandLine(vararg args: Any): List<Any> =
args.toList()
}

internal fun windowsAwareYarn(vararg args: Any): List<Any> =
if (Os.isWindows()) {
listOf("yarn.cmd") + args
} else {
listOf("yarn") + args
}

internal fun windowsAwareBashCommandLine(
vararg args: String,
bashWindowsHome: String? = null
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,24 +42,6 @@ class TaskUtilsTest {
assertEquals(listOf("cmd", "/c", "a", "b", "c"), windowsAwareCommandLine("a", "b", "c"))
}

@Test
@WithOs(OS.MAC)
fun windowsAwareYarn_onMac_returnsTheList() {
assertEquals(listOf("yarn", "a", "b", "c"), windowsAwareYarn("a", "b", "c"))
}

@Test
@WithOs(OS.UNIX)
fun windowsAwareYarn_onLinux_returnsTheList() {
assertEquals(listOf("yarn", "a", "b", "c"), windowsAwareYarn("a", "b", "c"))
}

@Test
@WithOs(OS.WIN)
fun windowsAwareYarn_onWindows_prependsCmd() {
assertEquals(listOf("yarn.cmd", "a", "b", "c"), windowsAwareYarn("a", "b", "c"))
}

@Test
@WithOs(OS.MAC)
fun windowsAwareBashCommandLine_onMac_returnsTheList() {
Expand Down

0 comments on commit 4f1fed2

Please sign in to comment.