Gradle构建不包括source / src groovy [英] Gradle build not including source/src groovy

查看:115
本文介绍了Gradle构建不包括source / src groovy的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述




  • 我有一个基本的groovy项目,比如src / org ... ../*.groovy在根目录下

  • 我有以下build.gradle

      apply plugin:'groovy'
    version ='1.0'

    repositories {
    mavenCentral();
    }

    依赖关系
    {
    编译文件(fileTree(dir:'lib',include:['* .jar']),
    fileTree (dir:'lib / DocxDep',include:['* .jar']))
    }

    任务buildLabServicesJar(type:Jar){
    from files(sourceSets。 main.output.classesDir)
    from {
    configurations.compile.collect {
    it.isDirectory()?它:zipTree(it)
    }
    configurations.runtime.collect {
    it.isDirectory()?它:zipTree(它)
    }
    }

    清单{
    属性'Implementation-Title':'Lab Services',
    'Implementation-Version ':version,
    'Main-Class':'org.xxx.clarity.ClarityServices'
    }
    }




问题是当我运行和/或检查jar文件时,我的src / **中的sclasses不包括在内! (所有依赖关系都是完美的)



这里有什么问题?
$ b UPDATE

当我从文件(fileTree(dir:'src'))
添加:
时,它包含.groovy文件: (



当我从sourceSets.main.output中添加

 时。 classesDir 

到任务和:

 sourceSets {
main {
groovy {
srcDir'src'
}
}
}

他们没有被包括:(找不到任何其他方式....

解决方案

最后的工作build.gradle。(谢谢所有人)。

  apply plugin:'groovy'

version ='1.0'

repositories {
mavenCentral();
}

依赖项
{
编译fi文件树(fileTree(dir:'lib',include:['* .jar']),
fileTree(dir:'lib / DocxDep',include:['* .jar']))
编译'org.codehaus.groovy:groovy-all:2.3.6'//缺少
}

任务buildLabServicesJar(type:Jar){
from files(sourceSets。 main.output)//缺少/错误
from {
configurations.compile.collect {
it.isDirectory()?它:zipTree(it)
}
configurations.runtime.collect {
it.isDirectory()? it:zipTree(it)
}
}
with jar

sourceSets.main.groovy {
srcDirs = ['src'] // Was缺少/错误
}

清单{
属性'Implementation-Title':'Lab Services',
'Implementation-Version':version,
'Main-Class':'org.petermac.clarity.ClarityServices'
}
}


I am trying to create a jar from a basic program.

  • I have a basic groovy project i.e. src/org...../*.groovy In the root
  • I have the following build.gradle

    apply plugin: 'groovy'
    version = '1.0'
    
    repositories {
        mavenCentral();
    }
    
    dependencies
    {
        compile files (fileTree(dir: 'lib', include: ['*.jar']),
            fileTree(dir: 'lib/DocxDep', include: ['*.jar']))
    }
    
    task buildLabServicesJar(type: Jar) {
    from files(sourceSets.main.output.classesDir)
    from {
        configurations.compile.collect {
            it.isDirectory() ? it : zipTree(it)
        }
        configurations.runtime.collect {
            it.isDirectory() ? it : zipTree(it)
        }
    }
    
    manifest {
        attributes 'Implementation-Title': 'Lab Services',
            'Implementation-Version': version,
            'Main-Class': 'org.xxx.clarity.ClarityServices'
        }
    }
    

Problem is when I run and/or inspec the jar file my sclasses from src/** are not included! (all the dependencies are perfect)

What is the problem here?

UPDATE

When I add: from files(fileTree(dir: 'src')) to the task it includes the .groovy files :(

When I add

from sourceSets.main.output.classesDir

to the task and:

sourceSets {
    main {
        groovy {
            srcDir 'src'
        }
    }
}

They do not get included :( Can't find any other ways....

解决方案

Final working build.gradle. (thanks all).

    apply plugin: 'application'
    apply plugin: 'groovy'

    version = '1.0'

    repositories {
        mavenCentral();
    }

    dependencies
        {
            compile files (fileTree(dir: 'lib', include: ['*.jar']),
                fileTree(dir: 'lib/DocxDep', include: ['*.jar']))
            compile 'org.codehaus.groovy:groovy-all:2.3.6'  //Was missing
        }

    task buildLabServicesJar(type: Jar) {
        from files(sourceSets.main.output)   //Was missing/wrong      
    from {
        configurations.compile.collect {
            it.isDirectory() ? it : zipTree(it)
        }
        configurations.runtime.collect {
            it.isDirectory() ? it : zipTree(it)
        }
    }
    with jar

    sourceSets.main.groovy {
        srcDirs = [ 'src' ] //Was missing/wrong
    } 

    manifest {
        attributes 'Implementation-Title': 'Lab Services',
            'Implementation-Version': version,
            'Main-Class': 'org.petermac.clarity.ClarityServices'
        }
    }

这篇关于Gradle构建不包括source / src groovy的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆