我有一个标准项目布局的现有Gradle项目:
我的代码是 src/main/java
和src/test/java
。我编写了以下测试来确认jcompilo正在我的项目中工作。
import com.googlecode.totallylazy.annotations.tailrec;
import org.junit.Test;
public class TailRecursionTest {
@tailrec
public static int safeRecursiveAdd(int iterations,int accumulator) {
if(iterations < 2)
return accumulator;
else{
return safeRecursiveAdd(iterations - 1, accumulator + iterations);
}
}
public static int unSafeRecursiveAdd(int iterations,int accumulator) {
if(iterations < 2)
return accumulator;
else{
return unSafeRecursiveAdd(iterations - 1, accumulator + iterations);
}
}
int STACKOVERFLOW_QUANTITY = 1000000;
@Test(expected = StackOverflowError.class)
public void withoutTailRecFail(){
unSafeRecursiveAdd(STACKOVERFLOW_QUANTITY,0);
}
@Test
public void tailRecWorks(){
safeRecursiveAdd(STACKOVERFLOW_QUANTITY, 0);
}
}
它在tailRecWorks()测试中失败并出现StackOverflowError。
我的build.gradle有以下花絮:
repositories {
maven {url "http://repo.bodar.com"}
}
dependencies {
compile group:'com.googlecode.jcompilo', name:'jcompilo', version:'2.30'
}
我将jcompilo.sh
文件从totallylazy Github主分支复制到Gradle项目的顶层。我注意到在jcompilo Github中,他的项目布局在项目的顶层有src
和test
,并且直接包含源代码(我的地址是src/main/java
。我想这可能是是一个促成因素,但我不知道如何配置jcompilo.sh任何和所有帮助表示赞赏。谢谢!!
答案 0 :(得分:0)
[我是JCompilo作者]
JCompilo目前主要用于完全取代Gradle,即我使用JCompilo构建我的其他开源工具而不是Gradle / Ant / Maven。
我一直在和一些Gradle / Buck开发人员谈论能否直接从Grade中使用JCompilo编译器,但不幸的是,目前只是谈论它。
对不起,这不是你要找的答案。