读取包括自定义任务中的idl文件

时间:2016-06-08 12:54:37

标签: gradle

我想在构建模型时让我的gradle构建智能。

为了获得这个,我计划阅读模式文件,获取所包含的内容,然后构建首先包含的模型(如果它们不存在)。

我对GroovyGradle都很陌生,所以请考虑到这一点。

我有什么:

    根目录上的
  1. build.gradle文件,包括 n 子目录(添加到settings.gradle的子项目)。我只有一个 gradle构建文件,因为我定义了以下任务:

    subprojects {
        task init
        task includeDependencies(type: checkDependencies)
        task build
        task dist
        (...)
    } 
    
  2. 我很快就会回到checkDependencies。

    1. 外部的架构文件,我可以看到。 他们每个都有0到3行代码,关于依赖关系,看起来像这样:

      #include "ModelDir/ModelName.idl"
      
    2. 在我创建的build.gradle任务中,应该打开并阅读这些依赖项,最好还是返回它们:

      class parsingIDL extends DefaultTask{
      
          String idlFileName="*def file name*"
      
          def regex = ~/#include .*\/(\w*).idl/
      
          @Task Action
          def checkDependencies(){
              File idlFile= new File(idlFileName)
              if(!idlFile.exists()){
                  logger.error("File not found)
              } else {
                  idlFile.eachLine{ line ->
                      def dep = []
                      def matcher = regex.matcher(line)
                      (...)*
                  }
              }
          }
      }
      
    3. 我应该在(...)*中找到所有依赖项以及如何定义,例如

      subprojectA::build.dependsOn([subprojectB::dist, subprojectC::dist])?
      

      我可以在互联网上找到的所有dep,输出给出:

      []
      []
      [modelName]
      []
      []
      (...)
      

0 个答案:

没有答案