aboutsummaryrefslogtreecommitdiffstats
path: root/net-im/signal-cli/files/build.gradle.in
blob: 4ccb5c032a2938704db952c5547ed34f97a3ddc7 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
/*
 * $FreeBSD$
 */

apply from: '%%ORIGINAL_BUILD_GRADLE%%'

repositories {
    flatDir {
        dirs '%%GRADLE_DEPS_DIR%%'
    }
}

dependencies {
    compileOnly fileTree(dir: '%%GRADLE_DEPS_DIR%%', include: '*.jar')
    runtimeOnly fileTree(dir: '%%GRADLE_DEPS_DIR%%', include: '*.jar')
}

/*
 * Based on the scripts written by andforce and pczeus.
 * Original scripts:
 * - https://stackoverflow.com/a/58748741
 * - https://stackoverflow.com/a/36538091/4694621
 * License: CC BY-SA 4.0
 */
task getURLofDependencyArtifact() {
    doFirst {
        project.configurations.runtimeClasspath.resolvedConfiguration.resolvedArtifacts.each { artifact ->
            def dependency = artifact.moduleVersion.id
            for (ArtifactRepository repository : project.repositories.asList()) {
                def url = repository.properties.get('url')
                def master_site = String.format("%s%s/%s/%s/", url.toString(),
                        dependency.group.replace('.', '/'), dependency.name, dependency.version)
                def distfile = String.format("%s-%s.jar", dependency.name, dependency.version)
                def group = "_" + dependency.name.replaceAll('[^0-9A-Za-z_]', '_')
                try {
                    def jarfile = new URL(master_site + distfile)
                    def inStream = jarfile.openStream()
                    if (inStream != null) {
                        println("MASTER_SITES+= " + master_site + ":" + group)
                        println("DISTFILES+=    " + distfile + ":" + group)
                        return
                    }
                } catch (Exception ignored) {}
            }
        }
    }
}