我有一个现有的具有标准项目布局的Gradle项目:
src/main/java和src/test/java用于我的代码。我编写了下面的测试,以确认j编译程序正在我的项目中工作。
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);
}
}它在StackOverflowError ()测试中失败。
我的build.gradle有以下建议:
repositories {
maven {url "http://repo.bodar.com"}
}
dependencies {
compile group:'com.googlecode.jcompilo', name:'jcompilo', version:'2.30'
}我将jcompilo.sh文件从完全懒惰主分支复制到Gradle项目的顶层。我注意到,他的项目布局在项目的顶层有src和test,并且直接包含源代码(和我的一样,这里是src/main/java )。我认为这可能是一个因素,但我不知道如何配置jcompilo.sh任何和所有的帮助是值得赞赏的。谢谢!!
发布于 2015-08-21 06:24:04
我是JCompilo的作者
JCompilo目前的设计主要是为了完全取代Gradle,即我使用JCompilo来构建我的其他开源工具,而不是Gradle/Ant/Maven。
我已经和一些Gradle/Buck开发人员讨论过能够直接从级别内使用JCompilo编译器的问题,但不幸的是,目前这一切只是说说而已。
抱歉,这不是你想要的答案。
https://stackoverflow.com/questions/32127672
复制相似问题