summaryrefslogtreecommitdiff
path: root/packages/oraclejdk/oracle.gradle
blob: dc6020bbb46059c9bf6edbe5bd1c945c22387ba1 (plain)
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
48
49
50
51
52
53
54
55
56
57
58
task untar(type: Copy) {
  into file("${buildDir}/unpacked/dist/")
  eachFile { FileCopyDetails fcd ->
    fcd.path = fcd.path.substring(path.indexOf('/') + 1)
  }
}
tasks.untar.dependsOn(download)
tasks.untar.doFirst {
  if (file("${buildDir}/unpacked/dist/").exists()) {
    file("${buildDir}/unpacked/dist/").deleteDir()
  }
}

ospackage {
  from untar.outputs.files
}

project.afterEvaluate {
  untar.from tarTree(download.dest)
}

tasks.activator.dependsOn('untar')

final downloadCertGrid = makeDownloadTask(
    url: 'https://cafiles.cern.ch/cafiles/certificates/CERN%20Grid%20Certification%20Authority.crt',
    sha256: 'dce1eedad3edef466ecaeebfd711291e3b86f72ca8e6b0bba65162fd07a3e642'
)

final downloadCertRoot2 = makeDownloadTask(
    url: 'https://cafiles.cern.ch/cafiles/certificates/CERN%20Root%20Certification%20Authority%202.crt',
    sha256: '187f4f7b1315ebd2b72547c1accf2ec4077d51c14a0ce574904a9fdaea8a320c'
)

void keytool(String alias, File cert) {
  final bin = new File(project.buildDir, 'unpacked/dist/bin/keytool')
  final keystore = new File(project.buildDir, 'unpacked/dist/jre/lib/security/cacerts')
  project.exec {
    it.executable(bin)
    it.args(
        '-noprompt', '-import',
        '-trustcacerts',
        '-alias', alias,
        '-file', cert.absolutePath,
        '-keystore', keystore.absolutePath,
        '-storepass', 'changeit')
  }
}

final keytoolTask = tasks.create('keytool') {
  inputs.file downloadCertGrid.outputs
  inputs.file downloadCertRoot2.outputs
}
keytoolTask.dependsOn(tasks.untar, downloadCertGrid)
keytoolTask << {
  keytool('cern_grid_ca', downloadCertGrid.dest)
  keytool('cern_root2_ca', downloadCertRoot2.dest)
}
tasks.activator.dependsOn(keytoolTask)