Gradle: custom jar task

I feel like I'm missing something obvious here, but I can't find it.

I have a project where I want my package structure to be like this

/src
    /webapp
        /webapp-package-1
        /webapp-package-2
    /iface
        /iface-package-1
        /iface-package-2

I want to define a task that packs classes for iface and turns it into a jar. So I followed the user guide: http://www.gradle.org/0.8/docs/userguide/userguide_single.html#configureSourceSet (I am using version 0.8).

Now i have it

sourceSets {
    main {
        java {
            srcDir 'src'
        }
        resources {
            srcDir 'src'
        }
    }
    intTest {
        java {
            srcDir 'src/iface/'
        }
        resources {
            srcDir 'src'
        }
    }
    test {
        java {
            srcDir 'test'
        }
        resources {
            srcDir 'src'
        }
    }
}


task intTestJar(type: Jar, dependsOn: intTestClasses) {
    from sourceSets.intTest.classes
}

And one can verify that classes in intTestare constructed accordingly in /build/classes/intTest. However, trying to call intTestJaralways gives me this warning:

[ant:jar] Warning: skipping jar archive C:\workspace\foo\build\libs\foo-1.0.jar because no files were included.

I do not understand this because classes are being created successfully. In addition, the complete build task creates the entire jar successfully.

Ideas?

+3
1

Gradle (0.9.2). intTestJar , ( java-, ) :

└── iface
    └── ifacePackageOne
        β”œβ”€β”€ Test.java
        └── testFile.txt

jar:

β”œβ”€β”€ META-INF
β”‚   └── MANIFEST.MF
└── iface
    └── ifacePackageOne
        β”œβ”€β”€ Test.class
        └── testFile.txt

, - Gradle. http://gradle.org/

+3

Source: https://habr.com/ru/post/1794541/


All Articles