27. EPMO Open Source Coordination Office Redaction File Detail Report

Produced by Araxis Merge on 9/27/2017 9:44:49 AM Central Daylight Time. See www.araxis.com for information about Merge. This report uses XHTML and CSS2, and is best viewed with a modern standards-compliant browser. For optimum results when printing this report, use landscape orientation and enable printing of background images and colours in your browser.

27.1 Files compared

# Location File Last Modified
1 adk\adk\product build.gradle Thu Aug 3 16:46:06 2017 UTC
2 adk\adk\product build.gradle Tue Sep 26 12:58:33 2017 UTC

27.2 Comparison summary

Description Between
Files 1 and 2
Text Blocks Lines
Unchanged 2 376
Changed 1 4
Inserted 0 0
Removed 0 0

27.3 Comparison options

Whitespace
Character case Differences in character case are significant
Line endings Differences in line endings (CR and LF characters) are ignored
CR/LF characters Not shown in the comparison detail

27.4 Active regular expressions

No regular expressions were active.

27.5 Comparison detail

  1   apply from  : '../inf rastructur e/gradle/t emplates/t emplates.g radle'
  2   apply from  : '../inf rastructur e/gradle/d eploy.grad le'
  3  
  4   if( !Syste m.getenv() .keySet(). contains(' WORKSPACE' ) ){
  5     throw ne w GradleEx ception('W ORKSPACE e nvironment  variable  not set. D id you "so urce infra structure/ set.env.sh "?')
  6   }
  7  
  8   apply plug in: "sonar -runner"
  9  
  10   sonarRunne r {
  11       sonarP roperties  {
  12             property " sonar.host .url", "ht tp:// IP               "
  13             property " sonar.jdbc .url", "jd bc:mysql:/ / IP               /sonar?use Unicode=tr ue&cha racterEnco ding=utf8"
  14       }
  15   }
  16  
  17   allproject s  {
  18       apply  plugin: 'm aven'
  19       apply  plugin: 'e clipse'
  20  
  21       if (pr oject.hasP roperty("v erbose"))  {
  22           ta sks.withTy pe(Test) {
  23                testLogg ing.showSt andardStre ams = true
  24  
  25                // liste n to event s in the t est execut ion lifecy cle
  26                beforeTe st { descr iptor ->
  27                    logg er.lifecyc le(":" + d escriptor)
  28                }
  29           }
  30       }
  31  
  32       ext.se t('groupId ', 'us.vis tacore.adk ')
  33       ext.se t('repoCom mitCount',  '0.0.0.0' )
  34       ext.se t('commitC ountDir',  projectDir )
  35  
  36       def re poCommitCo untClosure  = {
  37           if  (System.p roperties[ 'os.name'] .toLowerCa se().conta ins('windo ws')) {
  38                return " cmd /C git  rev-list  --count -- first-pare nt HEAD ${ ->commitCo untDir}".e xecute().t ext.trim()
  39           }
  40              else {
  41                def proc  = ['sh',  '-c', "git  rev-list  --count -- first-pare nt HEAD ${ ->commitCo untDir}"]. execute()
  42                return p roc.text.t rim()
  43           }
  44       }
  45  
  46       repoCo mmitCount  = "${->rep oCommitCou ntClosure( )}"
  47  
  48       // set up
  49       ext.se t('repo',  'releases' )
  50       ext.se t('repoVer sion', get RepoVersio n())
  51       ext.se t('branchN ame', getC urrentBran chName())
  52       ext.se t('current CommitHash ', getCurr entCommitH ash())
  53       ext.se t('nexusUR L', getNex usURL())
  54       ext.se t('uploadR epo', getN exusUpload Repository ())
  55       versio n = "${->r epoVersion  + '.' + r epoCommitC ount}"
  56  
  57       reposi tories {
  58           ma ven { url  "https://s tore.vista core.us/ne xus/conten t/groups/p ublic" }
  59           ma ven { url  "https://s tore.vista core.us/ne xus/conten t/reposito ries/filer epo/" }
  60       }
  61  
  62       upload Archives {
  63          rep ositories. mavenDeplo yer {
  64               pom.group Id = "${-> groupId}"
  65               pom.versi on = "${-> version}"
  66               repositor y(url: "${ ->nexusURL }/nexus/co ntent/repo sitories/$ {->uploadR epo}/") {
  67                 authent ication(us erName: Sy stem.geten v()['NEXUS _USER_NAME '], passwo rd: System .getenv()[ 'NEXUS_PAS SWORD'])
  68               }
  69          }
  70       }
  71       tasks. withType(E xec) {
  72           do First {
  73                println  commandLin e
  74           }
  75       }
  76   }
  77  
  78   def getNex usURL() {
  79       System .env.OVERR IDE_NEXUS_ URL ?: 'ht tps://stor e.vistacor e.us'
  80   }
  81  
  82   def getNex usUploadRe pository()  {
  83       System .env.NEXUS _UPLOAD_RE PO ?: 'rel eases'
  84   }
  85  
  86   def getRep oVersion()  {
  87       def v
  88       if( Sy stem.geten v().keySet ().contain s('ARTIFAC T_VERSION_ PREFIX') ) {
  89           v  = System.g etenv()['A RTIFACT_VE RSION_PREF IX']
  90       } else  {
  91           v  = new File (rootDir,  "../infras tructure/p roperties/ applicatio nVersionPr efix").get Text()
  92       }
  93       if (v. endsWith(' .'))
  94           v  = v.substr ing(0, v.l ength()-1)
  95       return  v
  96   }
  97  
  98   def getCur rentBranch Name() {
  99       def br anchName
  100       if (Sy stem.prope rties['os. name'].toL owerCase() .contains( 'windows') ) {
  101           br anchName =  repoVersi on + '.' +  'cmd /C g it rev-par se --abbre v-ref HEAD '.execute( ).text.tri m()
  102       } else  {
  103           br anchName =  ['sh', '- c', 'git r ev-parse - -abbrev-re f HEAD'].e xecute().t ext.trim()
  104       }
  105       return  branchNam e
  106   }
  107  
  108   def getCur rentCommit Hash() {
  109       def co mmitHash
  110       if (Sy stem.prope rties['os. name'].toL owerCase() .contains( 'windows') ) {
  111           co mmitHash =  repoVersi on + '.' +  'cmd /C g it rev-par se HEAD'.e xecute().t ext.trim()
  112       } else  {
  113           co mmitHash =  ['sh', '- c', 'git r ev-parse H EAD'].exec ute().text .trim()
  114       }
  115       return  commitHas h
  116   }
  117  
  118   // This fu nction is  used for g etting com mit count  for a proj ect
  119   // because  the allpr ojects rou tine hasn' t run yet  for any pr oject othe r than ROO T to
  120   // set the  project.v ersion pro perty corr ectly
  121   def getVer sionByComm itCountFor Project(pr ojectStrin g ){
  122       def co mmitCountD ir = proje ct("${proj ectString} ").project Dir
  123       def pr oc = ['sh' , '-c', "g it rev-lis t --count  --first-pa rent HEAD  ${->commit CountDir}" ].execute( )
  124       versio n = "${get RepoVersio n() + '.'  + proc.tex t.trim()}"
  125       return  version
  126   }
  127  
  128   task gener ateVersion Properties File() {
  129       doLast  {
  130           de f adkVersi on = proje ct(':produ ction').ve rsion
  131           de f commitHa sh = getCu rrentCommi tHash()
  132  
  133           pr intln "ADK _VERSION=' ${adkVersi on}'"
  134           pr intln "COM MIT_HASH=' ${commitHa sh}'"
  135  
  136           pr oject.buil dDir.mkdir s()
  137           de lete "${pr oject.buil dDir}/vers ion.proper ties"
  138           ne w File("${ project.bu ildDir}/ve rsion.prop erties") < < """ADK_V ERSION=${a dkVersion}
  139   COMMIT_HAS H=${commit Hash}
  140   """
  141       }
  142   }
  143  
  144   //trigger  build
  145  
  146   // Fortify  stuff
  147   // Add a n ew configu ration
  148   configurat ions {
  149    fortify {  }
  150   }
  151    
  152   // pull in  the forti fy libs fo r the new  configurat ion
  153   dependenci es {
  154    fortify ' com.fortif y:sourcean alyzer:4.1 '
  155   }
  156    
  157   task forti fySetup <<  {
  158    ant.prope rties['bui ld.compile r']='com.f ortify.dev .ant.SCACo mpiler'
  159    ant.typed ef(name: ' sca', clas sname: 'co m.fortify. dev.ant.So urceanalyz erTask',
  160    classpath : configur ations.for tify.asPat h)
  161   }
  162    
  163   task forti fyReport < < {
  164  
  165       Map<St ring, Stri ng> fortif yProjects  = [
  166           'a dk': '**/* .js'
  167       ]
  168  
  169       for (e  in fortif yProjects)  {
  170           pr intln "Sca nning: ${e .key} => $ {e.value}"
  171           an t.sca(jdk: "1.7",
  172                debug:tr ue ,
  173                verbose: true ,
  174                failoner ror:true ,
  175                scan:tru e ,
  176                maxHeap: "4096M" ,
  177                logFile: file("$bui ldDir/repo rts/fortif y/Fortify- ${e.key}.l og"),
  178                resultsF ile:file(" $buildDir/ reports/fo rtify/${e. key}.fpr")
  179           ){
  180           fi leset(dir: 'productio n') {
  181                include( name:"${e. value}")
  182                exclude( name:'**/l ib/**')
  183                exclude( name:'**/t est/**')
  184                exclude( name:'**/* Test*')
  185                exclude( name:'**/b uild/**')
  186                }
  187           }
  188       }
  189   }
  190