如何使用Gradle配置JCompilo

时间:2015-08-20 20:23:02

标签: java gradle build build.gradle tail-recursion

我有一个标准项目布局的现有Gradle项目:

我的代码是

src/main/javasrc/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中,他的项目布局在项目的顶层有srctest,并且直接包含源代码(我的地址是src/main/java。我想这可能是是一个促成因素,但我不知道如何配置jcompilo.sh任何和所有帮助表示赞赏。谢谢!!

1 个答案:

答案 0 :(得分:0)

[我是JCompilo作者]

JCompilo目前主要用于完全取代Gradle,即我使用JCompilo构建我的其他开源工具而不是Gradle / Ant / Maven。

我一直在和一些Gradle / Buck开发人员谈论能否直接从Grade中使用JCompilo编译器,但不幸的是,目前只是谈论它。

对不起,这不是你要找的答案。