You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

build.gradle 2.2KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. sonarqube {
  2. properties {
  3. property "sonar.projectName", "${projectTitle} :: Web"
  4. property "sonar.sources", "src/main/js"
  5. property "sonar.tests", "src/main/js"
  6. property "sonar.test.inclusions", "src/main/js/**/__tests__/**"
  7. property "sonar.exclusions", "src/main/js/libs/third-party/**/*,src/main/js/libs/require.js,src/main/js/**/__tests__/**"
  8. }
  9. }
  10. apply plugin: 'com.moowork.node'
  11. configurations {
  12. branding
  13. }
  14. dependencies {
  15. branding 'com.sonarsource:sonarsource-branding:1.3.0.307@war'
  16. }
  17. def webappDir = "${buildDir}/webapp"
  18. def brandingDir = "${buildDir}/branding"
  19. task unzipBranding(type: Copy) {
  20. from { zipTree(configurations.branding.singleFile) }
  21. into brandingDir
  22. }
  23. task copyBrandingSrc(type: Copy, dependsOn: unzipBranding) {
  24. into projectDir
  25. from file(brandingDir)
  26. include '**/*.js'
  27. includeEmptyDirs = false
  28. }
  29. task copyBrandingWebapp(type: Copy, dependsOn: unzipBranding) {
  30. into "${projectDir}/public"
  31. from file("${brandingDir}/src/main/webapp")
  32. include '**/*.svg'
  33. includeEmptyDirs = false
  34. }
  35. task copyBrandingFile(type: Copy, dependsOn: unzipBranding) {
  36. into "${projectDir}/public"
  37. from file(brandingDir)
  38. include '**/branding'
  39. includeEmptyDirs = false
  40. }
  41. task copyBranding() {
  42. dependsOn copyBrandingSrc
  43. dependsOn copyBrandingWebapp
  44. dependsOn copyBrandingFile
  45. }
  46. node {
  47. version = '8.10.0'
  48. yarnVersion = '1.5.1'
  49. download = true
  50. }
  51. yarn_run {
  52. if (release) { dependsOn copyBranding }
  53. inputs.dir('config')
  54. inputs.dir('public')
  55. inputs.dir('scripts')
  56. inputs.dir('src')
  57. inputs.file('.babelrc')
  58. inputs.file('build.gradle')
  59. inputs.file('package.json')
  60. inputs.file('tsconfig.json')
  61. inputs.file('yarn.lock')
  62. outputs.dir(webappDir)
  63. args = ['build']
  64. }
  65. def sources = fileTree(dir: "src") + fileTree(dir: "scripts") + fileTree(dir: "config")
  66. task licenseCheckWeb(type: com.hierynomus.gradle.license.tasks.LicenseCheck) {
  67. source = sources
  68. if (release) exclude 'main/js/app/components/GlobalFooterBranding.js'
  69. }
  70. licenseMain.dependsOn licenseCheckWeb
  71. task licenseFormatWeb(type: com.hierynomus.gradle.license.tasks.LicenseFormat) {
  72. source = sources
  73. if (release) exclude 'main/js/app/components/GlobalFooterBranding.js'
  74. }
  75. licenseFormat.dependsOn licenseFormatWeb