Comments (3)
Nice! It looks like you're using the distribution
plugin and its distZip
task.
distZip
is also an archive task, so you can also refer to the archive that's being built from the archivePath
property:
processIntegrationTestResources {
from zipTree(distZip.archivePath) {
into 'myArchive'
}
}
That way you don't have to repeat the logic of how the zip file name is assembled.
You should probably also add a dependsOn distZip
to make sure the tasks are run in the correct order.
from gradle-testsets-plugin.
Hi,
yes that's quite a general Gradle question :-)
I suppose you would like to have your main JAR file as a classpath resource for the integration test.
Most straightforward way is to copy the JAR to the integrationTest resources output folder, and probably rename it because you want to have a fixed filename when referring to it.
task copyMainJarToIntegrationTestResources(type: Copy) {
from jar
into sourceSets.integrationTest.resources.outputDir
rename { "${jar.baseName}.jar" }
}
Then your integrationTest
task should depend on this copy operation:
integrationTest.dependsOn copyMainJarToIntegrationTestResources
Hope that helps.
from gradle-testsets-plugin.
Thanks. I managed to solve it slightly differently but the idea is same.
Gradle already has a task tied to each sourcesets called process<sourceset-name>Resources
. So, in my example in this thread, Gradle adds a task named processIntegrationTestResources
. This task automatically copies files from src/integrationTest/resources
to build/resources/integrationTest
.
So, I added my build artifact that needs to be included in the resource (build/resources/integrationTest
) like this:
processIntegrationTestResources {
from (zipTree (file("$buildDir/distributions/${project.name}-${version}.zip"))) {
//Unzips this build artifact into the resource's subdirectory named 'myArchive' relative to resource directory
into "myArchive"
}
}
Ideally I'd like to change the from...
line to be something like this so that I don't have to specify the artifact location, but haven't been able to get that to work yet.
from (myArchiveTask.outputs)
from gradle-testsets-plugin.
Related Issues (20)
- Gradle 7 support HOT 1
- Testset specific JaCoCo exec files unused HOT 1
- How can I use 'integrationTestImplementation` when naming the source set 'integration-test' HOT 1
- TestSetBase uses deprecated API which gets removed in Gradle 7.0 HOT 2
- Jacoco integration test report xml not generating HOT 1
- Resources in the wrong priority HOT 1
- How to pass jvm arguments when running integrationTest
- Jacoco integration test report html not generating
- Gradle build succeeds despite broken test set
- Question: Can you have separate and merged jacoco reports HOT 1
- Gradle is not resolving DependencyHandler methods for test sets HOT 2
- Unable to run single integration test HOT 1
- compileIntegrationTestJava can not find class in src/test/java HOT 1
- Can it run tests in Kotlin?
- Plugin application fails on Gradle 8.0 HOT 10
- Lombok does not work in a non-standard test set
- is possible to have `test` run in parallel but `integrationTest` to be sync?`
- Broken in gradle 8.2.1 HOT 1
- 4.1.0 broke IntelliJ IDEA support HOT 3
- 4.1.0 released with Java11 byte code
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gradle-testsets-plugin.