Skip to content

Commit

Permalink
Add integration test with RepositoriesMode.FAIL_ON_PROJECT_REPOS #134
Browse files Browse the repository at this point in the history
  • Loading branch information
deepy committed Jan 20, 2021
1 parent 3537a67 commit 52dd035
Show file tree
Hide file tree
Showing 6 changed files with 97 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
package com.github.gradle.node.task

import com.github.gradle.AbstractIntegTest

import org.gradle.testkit.runner.TaskOutcome
import org.gradle.util.GradleVersion
import org.junit.Assume
import org.junit.Rule
import org.junit.contrib.java.lang.system.EnvironmentVariables

Expand Down Expand Up @@ -238,4 +241,17 @@ class NodeTask_integTest extends AbstractIntegTest {
then:
result.output.contains("Cannot resolve external dependency org.nodejs:node:${DEFAULT_NODE_VERSION} because no repositories are defined.")
}

def 'make sure build works with FAIL_ON_PROJECT_REPOS'() {
given:
Assume.assumeFalse(gradleVersion < GradleVersion.version("6.8"))
copyResources("fixtures/node-depresolutionmgmt")

when:
def result = build("hello")

then:
result.task(":nodeSetup").outcome == TaskOutcome.SUCCESS
result.task(":hello").outcome == TaskOutcome.SUCCESS
}
}
49 changes: 49 additions & 0 deletions src/test/resources/fixtures/node-depresolutionmgmt/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
import org.gradle.util.GradleVersion

plugins {
id "com.github.node-gradle.node"
}

node {
version = "12.13.0"
distBaseUrl = null
download = true
workDir = file("build/node")
}

def changeScript = isPropertyEnabled("changeScript")
def changeArgs = isPropertyEnabled("changeArgs")

task hello(type: NodeTask) {
script = file("simple.js")
args = []
outputs.upToDateWhen {
true
}
}

if (changeScript) {
hello.script = file("name.js")
}

if (changeArgs) {
hello.args = ["Bob", "Alice"]
}

task executeDirectoryScript(type: NodeTask) {
script = file(".")
outputs.upToDateWhen {
true
}
}

task version(type: NodeTask) {
script = file("version.js")
}

def isPropertyEnabled(String name) {
if (GradleVersion.current() >= GradleVersion.version("6.6")) {
return providers.systemProperty(name).forUseAtConfigurationTime().isPresent()
}
return System.properties[name] != null
}
5 changes: 5 additions & 0 deletions src/test/resources/fixtures/node-depresolutionmgmt/name.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
const args = process.argv.slice(2);

for (const name of args) {
console.log(`Hello ${name}`);
}
25 changes: 25 additions & 0 deletions src/test/resources/fixtures/node-depresolutionmgmt/settings.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
import org.gradle.api.initialization.resolve.RepositoriesMode
import org.gradle.util.GradleVersion

if (GradleVersion.current() >= GradleVersion.version("6.8")) {
dependencyResolutionManagement {
repositories {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)

ivy {
name = "Node.js"
setUrl("https://nodejs.org/dist/")
patternLayout {
artifact("v[revision]/[artifact](-v[revision]-[classifier]).[ext]")
ivy("v[revision]/ivy.xml")
}
metadataSources {
artifact()
}
content {
includeModule("org.nodejs", "node")
}
}
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
console.log("Hello World");
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
console.log(`Version: ${process.version}`);

0 comments on commit 52dd035

Please sign in to comment.