Advertisement
Guest User

Untitled

a guest
Feb 20th, 2017
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.46 KB | None | 0 0
  1. group = 'se.accenture.assembly'
  2.  
  3. buildscript {
  4. dependencies {
  5. classpath 'com.intershop.build.gradle:ish-assembly'
  6. classpath 'com.intershop.build.gradle:plugin-tests'
  7. classpath group: 'com.intershop.build.release', name: 'intershop-buildinfo-plugin', version: '2.2.6'
  8. }
  9. }
  10.  
  11. apply plugin: 'ish-assembly'
  12. apply plugin: 'ish-assembly-branding'
  13. apply plugin: 'buildinfo'
  14.  
  15. assembly {
  16. inheritFrom('com.intershop.assembly:commerce_management_b2x') {
  17. includeArtifacts type:['deploy-gradle', 'deploy-settings-gradle', 'staging-properties']
  18. }
  19.  
  20. cartridges {
  21. def electrolyxCartridges = [
  22. 'electrolyx2017_common',
  23. 'electrolyx2017_app_sf',
  24. 'electrolyx2017_backoffice'
  25. ]
  26. include(*(electrolyxCartridges.collect {"se.accenture.electrolyx2017:$it"}), in:[development, test, production])
  27.  
  28. def storefrontCartridges = [
  29. 'app_sf_responsive',
  30. 'app_sf_responsive_cm',
  31. 'app_sf_responsive_b2c',
  32. 'app_sf_responsive_smb',
  33. 'as_responsive',
  34. 'app_sf_responsive_b2b',
  35. 'app_sf_responsive_costcenter',
  36. 'as_responsive_b2b'
  37. ]
  38. include(*(storefrontCartridges.collect {"se.brightstep.is76_demob2x:$it"}), in:[development, test, production])
  39.  
  40. def initCartridges = [
  41. 'demo_responsive',
  42. 'demo_responsive_catalog',
  43. 'demo_responsive_content',
  44. 'demo_responsive_search',
  45. 'demo_responsive_b2b',
  46. 'demo_responsive_ocst'
  47. ]
  48. include (*(initCartridges.collect {"se.brightstep.is76_demob2x:$it"}), in: init)
  49.  
  50. // version WITHOUT the Training cartridges
  51. order = listFromAssembly('com.intershop.assembly:commerce_management_b2x') + storefrontCartridges + electrolyxCartridges + initCartridges
  52.  
  53. }
  54.  
  55. extraAttributes = [
  56. 'productName': 'Intershop Training Environment 2017',
  57. 'copyrightOwner': 'Accenture Interactive',
  58. 'copyrightFrom': '2017'
  59. ]
  60. }
  61.  
  62. assemblyBuild {
  63. database {
  64. // inherit('com.intershop.assembly:commerce_management_b2x')
  65. // initCartridges = ['demo_responsive', 'demo_responsive_content', 'demo_responsive_search', 'demo_responsive_b2b']
  66. }
  67. }
  68.  
  69. dependencies {
  70. testCompile 'com.intershop.build.gradle:ish-common'
  71. testCompile 'com.intershop.build.gradle:ish-assembly-test'
  72.  
  73. // selenium web drivers
  74. remoteTestCompile "org.seleniumhq.selenium:selenium-support:2.47.+"
  75. remoteTestCompile "org.seleniumhq.selenium:selenium-chrome-driver:2.47.+"
  76. remoteTestCompile ("com.codeborne:phantomjsdriver:1.2.+") {
  77. transitive = false
  78. }
  79. }
  80.  
  81. configurations.all {
  82. // TODO Guice update required
  83. exclude group: 'asm', module: 'asm'
  84.  
  85. }
  86.  
  87. gebConfiguration {
  88. webDrivers {
  89. phantomJsDriver {
  90. environments {
  91. phantomJsPC {check=true}
  92. }
  93.  
  94. download {
  95. linux {
  96. url = 'https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-1.9.7-linux-x86_64.tar.bz2'
  97. archiveType = 'tar'
  98. webDriverDir = 'phantomjs-1.9.7-linux-x86_64'
  99. webDriverExec = 'bin/phantomjs'
  100. }
  101. windows {
  102. url = 'https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-1.9.7-windows.zip'
  103. archiveType = 'zip'
  104. webDriverDir = 'phantomjs-1.9.7-windows'
  105. webDriverExec = 'phantomjs.exe'
  106. }
  107. }
  108. }
  109.  
  110. chromeDriver {
  111. environments {
  112. chromePC
  113. chromeTablet
  114. }
  115.  
  116. download {
  117. linux {
  118. url = 'http://chromedriver.storage.googleapis.com/2.20/chromedriver_linux64.zip'
  119. archiveType = 'zip'
  120. webDriverExec = 'chromedriver'
  121. }
  122. windows {
  123. url = 'http://chromedriver.storage.googleapis.com/2.20/chromedriver_win32.zip'
  124. archiveType = 'zip'
  125. webDriverExec = 'chromedriver.exe'
  126. }
  127. }
  128. }
  129. }
  130. }
  131.  
  132. /***********************************************************************************************************************
  133. *
  134. * Currently the gradle tools do not provide a task for rebuilding the search indexes. But these it required for inSPIRED
  135. * storefront tests. So this is workaround for solving this problem temporary.
  136. *
  137. ***********************************************************************************************************************/
  138. buildscript {
  139. dependencies {
  140. classpath 'com.github.groovy-wslite:groovy-wslite:1.+'
  141. }
  142. }
  143.  
  144. task 'buildSearchIndex' {
  145. def hostName = remoteTest.env.hostName
  146. def port = remoteTest.env.webserverPort
  147. def adminUser = remoteTest.env.adminUser?: 'admin'
  148. def adminPwd = remoteTest.env.adminPwd?: '!InterShop00!'
  149.  
  150. def url = "http://${hostName}:${port}/INTERSHOP/rest/BOS/SMC/-/domains/SLDSystem/jobs"
  151.  
  152. def jobStatus = { job ->
  153. def client = new wslite.rest.RESTClient("${url}/${job}")
  154. client.authorization = new wslite.http.auth.HTTPBasicAuthorization(adminUser, adminPwd)
  155. def response = client.get()
  156. return response.json.status
  157. }
  158.  
  159. def triggerJob = {job ->
  160. def client = new wslite.rest.RESTClient("${url}/${job}")
  161. client.authorization = new wslite.http.auth.HTTPBasicAuthorization(adminUser, adminPwd)
  162.  
  163. try {
  164. def responseTrigger = client.put() {
  165. json type: 'job', status: 'RUNNING'
  166. }
  167. } catch(wslite.http.HTTPClientException ex) {
  168. logger.warn(ex.message, ex)
  169. }
  170.  
  171. def maxTry = 60
  172. while (maxTry-- > 0 && "READY" != jobStatus(job)) {
  173. sleep 5000
  174. }
  175. }
  176.  
  177. doFirst {
  178. triggerJob("Rebuild%20Search%20Indexes")
  179. triggerJob("Update%20Product%20Assignments")
  180. triggerJob("Rebuild%20Search%20Indexes")
  181. }
  182. }
  183.  
  184.  
  185. tasks.buildSearchIndex.mustRunAfter tasks.startWebserver
  186. tasks.buildSearchIndex.mustRunAfter tasks.startNodemanager
  187. tasks.publish.mustRunAfter tasks.remoteTest
  188. tasks.each { t ->
  189. if (t.name ==~ /geb.*Test/) {
  190. t.dependsOn tasks.buildSearchIndex
  191. t.mustRunAfter tasks.dbinit
  192. }
  193. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement