Changes in / [8abfdb4:38bfe32a]
- Files:
-
- 6 added
- 2 deleted
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
Jenkinsfile
r8abfdb4 r38bfe32a 35 35 } 36 36 37 def push_build() { 38 //Don't use the build_stage function which outputs the compiler 39 stage 'Push' 40 41 status_prefix = 'Push' 42 43 def out_dir = pwd tmp: true 44 sh "mkdir -p ${out_dir}" 45 46 //parse git logs to find what changed 47 sh "git remote > ${out_dir}/GIT_REMOTE" 48 git_remote = readFile("${out_dir}/GIT_REMOTE") 49 remoteDoLangExists = git_remote.contains("DoLang") 50 51 if( !remoteDoLangExists ) { 52 sh 'git remote add DoLang git@gitlab.do-lang.org:internal/cfa-cc.git' 53 } 54 55 sh "git push DoLang ${gitRefNewValue}:master" 56 } 57 37 58 //=========================================================================================================== 38 59 // Helper classes/variables/routines to make the status and stage name easier to use … … 67 88 def collect_git_info() { 68 89 90 //create the temporary output directory in case it doesn't already exist 69 91 def out_dir = pwd tmp: true 92 sh "mkdir -p ${out_dir}" 93 94 //parse git logs to find what changed 70 95 gitRefName = env.BRANCH_NAME 71 96 dir("../${gitRefName}@script") { … … 82 107 node ('master'){ 83 108 109 boolean doPromoteBuild2DoLang 84 110 def err = null 85 111 def log_needed = false … … 96 122 collect_git_info() 97 123 124 properties ([ \ 125 [$class: 'ParametersDefinitionProperty', \ 126 parameterDefinitions: [ \ 127 [$class: 'BooleanParameterDefinition', \ 128 defaultValue: false, \ 129 description: 'If true, the build will be promoted to the do-lang git repository (on successful builds only)', \ 130 name: 'promoteBuild2DoLang' \ 131 ]] \ 132 ]]) 133 134 doPromoteBuild2DoLang = promoteBuild2DoLang == 'true' 135 136 echo "FULL BUILD = ${doPromoteBuild2DoLang}" 137 98 138 //Compile using gcc-4.9 99 139 currentCC = new CC_Desc('gcc-4.9', 'g++-4.9', 'gcc-4.9') … … 108 148 cfa_build() 109 149 150 if( doPromoteBuild2DoLang ) { 151 push_build() 152 } 110 153 } 111 154 } … … 127 170 finally { 128 171 //Send email with final results 129 email(currentBuild.result, log_needed)172 notify_result(doPromoteBuild2DoLang, err, currentBuild.result, log_needed) 130 173 131 174 /* Must re-throw exception to propagate error */ … … 139 182 //Routine responsible of sending the email notification once the build is completed 140 183 //=========================================================================================================== 184 def notify_result(boolean promote, Exception err, String status, boolean log) { 185 if(promote) { 186 if( err ) { 187 promote_email(status) 188 } 189 } 190 else { 191 email(status, log) 192 } 193 } 194 195 //Email notification on a full build failure 196 def promote_email(String status) { 197 //Since tokenizer doesn't work, figure stuff out from the environnement variables and command line 198 //Configurations for email format 199 def email_subject = "[cforall git][PROMOTE - FAILURE]" 200 def email_body = """This is an automated email from the Jenkins build machine. It was 201 generated because of a git hooks/post-receive script following 202 a ref change was pushed to the repository containing 203 the project "UNNAMED PROJECT". 204 205 Check console output at ${env.BUILD_URL} to view the results. 206 207 - Status -------------------------------------------------------------- 208 209 PROMOTE FAILURE - ${status} 210 """ 211 212 def email_to = "pabuhr@uwaterloo.ca, rschlunt@uwaterloo.ca, a3moss@uwaterloo.ca, tdelisle@uwaterloo.ca, brice.dobry@huawei.com" 213 214 //send email notification 215 emailext body: email_body, subject: email_subject, to: email_to, attachLog: true 216 } 217 218 //Standard build email notification 141 219 def email(String status, boolean log) { 142 220 //Since tokenizer doesn't work, figure stuff out from the environnement variables and command line … … 157 235 158 236 The branch ${env.BRANCH_NAME} has been updated. 159 160 237 via ${gitRefOldValue} (commit) 238 from ${gitRefNewValue} (commit) 161 239 162 240 Check console output at ${env.BUILD_URL} to view the results. -
doc/bibliography/cfa.bib
r8abfdb4 r38bfe32a 356 356 } 357 357 358 @article{Cor :overload,358 @article{Cormack81, 359 359 keywords = {}, 360 360 contributer = {gjditchfield@plg}, … … 2922 2922 } 2923 2923 } 2924 2925 @unpublished{Bilson, 2926 keywords = {generic programming, generics, polymorphism}, 2927 contributor {a3moss@plg}, 2928 author = {Richard C. Bilson and Glen Ditchfield and Peter A. Buhr}, 2929 title = {Generic Programming with Inferred Models}, 2930 } 2931 2924 2932 2925 2933 @article{Haskell, … … 4540 4548 } 4541 4549 4542 @article{Bak :overload,4550 @article{Baker82, 4543 4551 keywords = {compilation}, 4544 4552 contributer = {gjditchfield@plg}, … … 5455 5463 % Q 5456 5464 5465 @article{Grossman06, 5466 keywords = {Cyclone, existential types, polymorphism, type variables}, 5467 contributer = {a3moss@plg}, 5468 author = {Grossman, Dan}, 5469 title = {Quantified Types in an Imperative Language}, 5470 journal = toplas, 5471 issue_date = {May 2006}, 5472 volume = {28}, 5473 number = {3}, 5474 month = may, 5475 year = {2006}, 5476 issn = {0164-0925}, 5477 pages = {429--475}, 5478 numpages = {47}, 5479 url = {http://doi.acm.org.proxy.lib.uwaterloo.ca/10.1145/1133651.1133653}, 5480 doi = {10.1145/1133651.1133653}, 5481 acmid = {1133653}, 5482 publisher = {ACM}, 5483 address = {New York, NY, USA}, 5484 } 5485 5457 5486 @article{Hoare61, 5458 5487 keywords = {quick sort}, -
src/libcfa/Makefile.am
r8abfdb4 r38bfe32a 11 11 ## Created On : Sun May 31 08:54:01 2015 12 12 ## Last Modified By : Peter A. Buhr 13 ## Last Modified On : Tue Jun 7 14:38:18201614 ## Update Count : 1 4213 ## Last Modified On : Wed Jun 8 14:20:34 2016 14 ## Update Count : 165 15 15 ############################################################################### 16 16 … … 54 54 55 55 headers = limits stdlib math iostream fstream iterator rational 56 .PRECIOUS : ${headers} # stop implicit '.o' rules from removing extensionless headers 56 libobjs = ${headers:=.o} 57 57 58 #.SECONDARY : ${headers} # stop implicit '.o' rules from removing extensionless headers 58 # extensionless header files are overridden by -o flag in default makerule => explicitly override default rule to silently do nothing 59 % : %.c 60 @true 59 61 62 ${libobjs} : ${abs_top_srcdir}/src/driver/cfa-cpp # add dependency to cfa-cpp so all libraries are rebuilt with new translator 60 63 61 64 libcfa_a_SOURCES = libcfa-prelude.c ${headers:=.c} -
src/libcfa/Makefile.in
r8abfdb4 r38bfe32a 215 215 ${addprefix ${libdir}/,${lib_LIBRARIES}} ${includedir}/* 216 216 headers = limits stdlib math iostream fstream iterator rational 217 libobjs = ${headers:=.o} 217 218 libcfa_a_SOURCES = libcfa-prelude.c ${headers:=.c} 218 219 include_HEADERS = ${headers} … … 587 588 libcfa-prelude.o : libcfa-prelude.c 588 589 @BACKEND_CC@ -c -o $@ $< 589 .SECONDARY : ${headers} # stop implicit '.o' rules from removing extensionless headers 590 591 # extensionless header files are overridden by -o flag in default makerule => explicitly override default rule to silently do nothing 592 % : %.c 593 @true 594 595 ${libobjs} : ${abs_top_srcdir}/src/driver/cfa-cpp # add dependency to cfa-cpp so all libraries are rebuilt with new translator 590 596 591 597 # Tell versions [3.59,3.63) of GNU make to not export all variables.
Note: See TracChangeset
for help on using the changeset viewer.