Comments (8)
I've just added the properties path
and relativePath
. The eachFile
action now behaves similar to that of the Copy
task. You can even specify a relative directory in the name
property and it will work (e.g. name = "foo/test.txt"
).
I will release 5.3.0 soon but I want to think a little bit more about how to handle duplicate files (maybe with DuplicatesStrategy?). I'll keep you posted.
from gradle-download-task.
gradle-download-task 5.3.0 has just been released. Have fun! Let me know if there is anything else missing. Thanks!
from gradle-download-task.
The name
property works similar to that of the built-in Copy
task (https://docs.gradle.org/current/dsl/org.gradle.api.tasks.Copy.html and https://docs.gradle.org/current/javadoc/org/gradle/api/file/FileCopyDetails.html). You can only change the name of the destination file but not the path. The Copy
task offers a relativePath
property. I will add something similar to gradle-download-task. Please stay tuned...
from gradle-download-task.
Please have a look at the following example and let me know what is missing:
https://github.com/michel-kraemer/gradle-download-task/blob/master/examples/groovy/multiple-files-rename/build.gradle
I suppose you also want to specify a different target path for each file and not only a different filename, right?
from gradle-download-task.
Hi Michel, thx for your swift reply.
Yes indeed, I also would like to specify a different target path..
I tried something the path to the url mapping like:
ext.urls = [
'http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD': 'foo/config.guess',
'http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD': 'bar/config.sub'
]
task downloadFiles(type: Download) {
src urls.keySet()
dest buildDir
eachFile { f ->
f.name = urls[f.sourceURL.toString()]
}
}
but that gives a java.nio.file.NoSuchFileException
.
from gradle-download-task.
I'm running into this as well: https://github.com/andrewparmet/buf-publisher/pull/1/checks
Here's my config:
fun versionsToPublish(): List<Version> =
listOf(
"1.0.0",
"1.1.0",
"1.1.1",
"1.2.0",
"1.2.1",
"1.3.0",
"1.3.1",
"1.4.0",
"1.5.0",
"1.6.0",
"1.7.0",
"1.8.0"
).flatMap { version ->
listOf(Os.MAC, Os.WINDOWS, Os.LINUX).flatMap { os ->
os.architectures.map { arch ->
Version(version, os, arch)
}
}
}
tasks.register<Download>("downloadBinaries") {
val urls =
versionsToPublish().associate {
"https://github.com/bufbuild/buf/releases/download/v${it.version}/${it.fileName}" to it.version
}
src(urls.keys)
eachFile {
name = "${urls[sourceURL.toString()]}/$name"
}
onlyIfModified(true)
dest("$buildDir/buf")
}
from gradle-download-task.
Oddly enough if I allow the task to fail first then a subsequent Gradle invocation succeeds:
E.g. my CI config:
- name: Download binaries
continue-on-error: true
uses: gradle/gradle-build-action@v2
with:
arguments: downloadBinaries
- name: Build
uses: gradle/gradle-build-action@v2
with:
arguments: publishToMavenLocal build --info
from gradle-download-task.
Thx @michel-kraemer !!
from gradle-download-task.
Related Issues (20)
- Could not find method src() on extension 'download' HOT 2
- Download Task with Private Repo HOT 5
- Explicit file naming for src property HOT 1
- Only if Modified Recipe to then run Zip or other methods HOT 6
- Documentation unclear about `useETag` HOT 2
- Does plugin support to download file from local a relative file? HOT 6
- Configuration-cache-safe use of download and verify extensions HOT 14
- Problems when use with Kotlin Gradle Plugin 1.7.20 HOT 10
- responseInterceptor missing HOT 3
- Support progress bar when executing task via IntelliJ HOT 1
- How to send Post Body Parameter (data) HOT 4
- Downloading from Internal Repo using Token HOT 10
- untar and unxz HOT 1
- SSLPeerUnverifiedException jfrog-prod-usw2-shared-oregon-main.s3.amazonaws.com HOT 7
- query parameters in src url HOT 2
- Download plugin doesn't encoded files HOT 2
- Allow `src` to take `URI` objects HOT 1
- Cached download should be ignored if URL changes HOT 4
- Can download task add new property to avoid directly throw exception? HOT 7
- Bad request after redirect HOT 15
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-download-task.