diff options
author | Rene Groeschke <rene@gradle.com> | 2015-11-22 19:16:45 +0000 |
---|---|---|
committer | Rene Groeschke <rene@gradle.com> | 2015-11-22 19:16:45 +0000 |
commit | e2259af79dab2a3e132a7d049d180c47ee8a43b8 (patch) | |
tree | 13116bd67041a08a6c02fe742b614d0cc731c3b5 | |
parent | 62055a29e689335b34d6ef55f63a1cd16ea07c7e (diff) | |
download | frege-gradle-plugin-e2259af79dab2a3e132a7d049d180c47ee8a43b8.tar.gz frege-gradle-plugin-e2259af79dab2a3e132a7d049d180c47ee8a43b8.tar.bz2 frege-gradle-plugin-e2259af79dab2a3e132a7d049d180c47ee8a43b8.zip |
add integ test coverage for using custom sourcesets with frege
- test coverage for #15
-rw-r--r-- | src/integTest/groovy/frege/gradle/plugins/FregePluginIntegTest.groovy | 56 |
1 files changed, 46 insertions, 10 deletions
diff --git a/src/integTest/groovy/frege/gradle/plugins/FregePluginIntegTest.groovy b/src/integTest/groovy/frege/gradle/plugins/FregePluginIntegTest.groovy index e837a2a..7272113 100644 --- a/src/integTest/groovy/frege/gradle/plugins/FregePluginIntegTest.groovy +++ b/src/integTest/groovy/frege/gradle/plugins/FregePluginIntegTest.groovy @@ -43,16 +43,7 @@ class FregePluginIntegTest extends AbstractFregeIntegrationSpec { ${sayHelloTask()} """ - def fregeSourceFile = testProjectDir.newFile("src/main/frege/org/frege/HelloFrege.fr") - - fregeSourceFile << """ - module org.frege.HelloFrege where - - greeting = "Hello Frege!" - - main _ = do - println greeting - """ + fregeModule() when: def result = run(gradleVersion, "sayHello") @@ -69,6 +60,20 @@ class FregePluginIntegTest extends AbstractFregeIntegrationSpec { "3.22.367-g2737683" | "2.8" } + private void fregeModule(String modulePath = "src/main/frege/org/frege/HelloFrege.fr") { + def moduleFolder = new File(testProjectDir.root, modulePath).parentFile + moduleFolder.mkdirs() + def moduleSource = testProjectDir.newFile(modulePath) + moduleSource << """ + module org.frege.HelloFrege where + + greeting = "Hello Frege!" + + main _ = do + println greeting + """ + } + def "can reference java from frege"() { given: buildFile << """ @@ -89,6 +94,37 @@ class FregePluginIntegTest extends AbstractFregeIntegrationSpec { result.output.contains("hello from java") } + + def "supports additional source sets"() { + given: + buildFile << """ + + sourceSets { + api + } + + dependencies { + apiCompile "org.frege-lang:frege:$DEFAULT_FREGE_VERSION" + } + + + """ + and: + javaCode() + fregeModule("src/api/frege/org/frege/HelloFrege.fr") + when: + BuildResult result = run("apiClasses") + then: + result.task(":compileApiJava").outcome == UP_TO_DATE + result.task(":compileApiFrege").outcome == SUCCESS + classFileExists("api/org/frege/HelloFrege.class") + } + + def classFileExists(String relativeClasspath) { + assert new File(testProjectDir.root, "build/classes/$relativeClasspath/").exists() + true + } + def fregeCallingJava() { File fregeSourceFile = testProjectDir.newFile("src/main/frege/org/frege/HelloFrege.fr") |