34 <!-- includes all necessary stuff --> |
34 <!-- includes all necessary stuff --> |
35 <!-- To check which ccmgetinput helium will be use |
35 <!-- To check which ccmgetinput helium will be use |
36 @type string |
36 @type string |
37 --> |
37 --> |
38 <property name="ccmgetinput" value="ccmgetinput" /> |
38 <property name="ccmgetinput" value="ccmgetinput" /> |
|
39 |
|
40 <!--* Set to false to skip diamonds. |
|
41 @type boolean |
|
42 @editable required |
|
43 @scope public |
|
44 @since 11.0 |
|
45 --> |
|
46 <property name="diamonds.enabled" value="true"/> |
|
47 |
|
48 |
|
49 <!--* @property internal.diamonds.enabled |
|
50 Run the diamonds related targets if diamonds.enabled is set to true. |
|
51 @type boolean |
|
52 @scope private |
|
53 --> |
|
54 |
|
55 <!--* @property skip.diamonds |
|
56 Set to true to skip diamonds. - deprecated: Start using diamonds.enabled property. |
|
57 @type boolean |
|
58 @editable required |
|
59 @scope public |
|
60 @deprecated since 11.0 |
|
61 --> |
|
62 |
|
63 <!--* @property ccm.enabled |
|
64 Defines that property if you want the ccm-get-input step to be run during the build area preparation. |
|
65 @type boolean |
|
66 @editable required |
|
67 @scope public |
|
68 --> |
|
69 |
|
70 <!--* @property internal.ccm.enabled |
|
71 Set to run synergy targets if ccm.enabled set to true. |
|
72 @type boolean |
|
73 @scope private |
|
74 --> |
|
75 |
|
76 <!--* @property remote.builds.enabled |
|
77 Set to true to run the builds on remote machines. |
|
78 @type boolean |
|
79 @scope public |
|
80 @editable required |
|
81 @since 11.0 |
|
82 --> |
|
83 |
|
84 <!--* @property internal.remote.builds.enabled |
|
85 Set to run remote build targets if remote.builds.enabled set to true. |
|
86 @type boolean |
|
87 @scope private |
|
88 --> |
|
89 |
|
90 <!-- Check, is diamonds feature enabled --> |
|
91 <condition property="internal.diamonds.enabled"> |
|
92 <and> |
|
93 <not> |
|
94 <isfalse value="${diamonds.enabled}" /> |
|
95 </not> |
|
96 <not> |
|
97 <isset property="skip.diamonds"/> |
|
98 </not> |
|
99 </and> |
|
100 </condition> |
|
101 |
|
102 <!-- Check, is synergy enabled --> |
|
103 <condition property="internal.ccm.enabled"> |
|
104 <istrue value="${ccm.enabled}"/> |
|
105 </condition> |
|
106 |
|
107 <!-- Check, is synergy enabled --> |
|
108 <condition property="internal.remote.builds.enabled"> |
|
109 <istrue value="${remote.builds.enabled}"/> |
|
110 </condition> |
|
111 |
39 |
112 |
40 <typedef file="${ant.file.preparation}/../preparation.antlib.xml" uri="http://www.nokia.com/helium"/> |
113 <typedef file="${ant.file.preparation}/../preparation.antlib.xml" uri="http://www.nokia.com/helium"/> |
41 <import file="bom/bom.ant.xml" /> |
114 <import file="bom/bom.ant.xml" /> |
42 <import file="password.ant.xml" /> |
115 <import file="password.ant.xml" /> |
43 <import file="ido-prep.ant.xml" /> |
116 <import file="ido-prep.ant.xml" /> |
44 <import file="synergy/ccmgetinput.ant.xml" /> |
117 <import file="synergy/ccmgetinput.ant.xml" /> |
45 <import file="synergy/buildmanagement.ant.xml" /> |
118 <import file="synergy/buildmanagement.ant.xml" /> |
46 <import file="ivy/dependencies.ant.xml"/> |
119 <import file="ivy/dependencies.ant.xml"/> |
47 |
120 |
48 |
121 |
49 <!-- |
122 <!-- Gets a release from network drive. --> |
50 Gets a release from GRACE. |
|
51 TODO: Improve interface with customer configuration, getenv_options should be replaced by set of properties. |
|
52 --> |
|
53 <target name="preparation-getenv" if="base_release.path" depends="init-build-area"> |
123 <target name="preparation-getenv" if="base_release.path" depends="init-build-area"> |
54 <!-- Making sure we have nothing to pass --> |
124 <!-- Making sure we have nothing to pass --> |
55 <property name="base_release.path" value=""/> |
125 <property name="base_release.path" value=""/> |
56 <property name="base_release.getenv_options" value=""/> |
126 <property name="base_release.getenv_options" value=""/> |
57 <!-- Using the cleaned version of getenv.pl --> |
127 <!-- Using the cleaned version of getenv.pl --> |
308 <propertyref name="release.notes.password" /> |
378 <propertyref name="release.notes.password" /> |
309 <propertyref name="nwiki.password" /> |
379 <propertyref name="nwiki.password" /> |
310 <propertyref name="noe.password" /> |
380 <propertyref name="noe.password" /> |
311 <propertyref name="ats.password" /> |
381 <propertyref name="ats.password" /> |
312 <propertyref name="hydra.password" /> |
382 <propertyref name="hydra.password" /> |
|
383 <propertyref name="coverity.password" /> |
313 </propertyset> |
384 </propertyset> |
314 |
385 |
315 <!-- Logs the Ant property build environment. --> |
386 <!-- Logs the Ant property build environment. --> |
316 <target name="log-build-env"> |
387 <target name="log-build-env"> |
317 <echoproperties destfile="${build.log.dir}/${build.id}_ant_env.log"> |
388 <echoproperties destfile="${build.log.dir}/${build.id}_ant_env.log"> |
438 <include name="*.xml"/> |
512 <include name="*.xml"/> |
439 </fileset> |
513 </fileset> |
440 </copy> |
514 </copy> |
441 |
515 |
442 </target> |
516 </target> |
443 |
517 |
|
518 <!-- Loading some properties from the cache. Mainly diamonds related properties are |
|
519 stored in there. |
|
520 --> |
|
521 <target name="load-property-from-cache-file"> |
|
522 <if> |
|
523 <available file="${build.property.cache.file}" /> |
|
524 <then> |
|
525 <property file="${build.property.cache.file}" /> |
|
526 </then> |
|
527 </if> |
|
528 </target> |
|
529 |
444 <!-- This target exists as a trigger for initiating the Diamonds logger. If |
530 <!-- This target exists as a trigger for initiating the Diamonds logger. If |
445 it is not included in the build sequence, the build will not be logged to |
531 it is not included in the build sequence, the build will not be logged to |
446 Diamonds. Also build.property.cache.file will be there contains all the diamonds related properties |
532 Diamonds. Also build.property.cache.file will be there contains all the diamonds related properties |
447 --> |
533 --> |
448 <target name="diamonds"> |
534 <target name="diamonds" if="internal.diamonds.enabled" depends="load-property-from-cache-file"> |
449 <!--* @property skip.diamonds |
|
450 Set to true to skip diamonds. |
|
451 @type boolean |
|
452 @editable required |
|
453 @scope public |
|
454 --> |
|
455 <mkdir dir="${diamonds.build.output.dir}" /> |
535 <mkdir dir="${diamonds.build.output.dir}" /> |
456 <var name="diamonds.build.url" value="http://${diamonds.host}:${diamonds.port}${diamonds.build.id}"/> |
536 <var name="diamonds.build.url" value="http://${diamonds.host}:${diamonds.port}${diamonds.build.id}"/> |
457 <echoproperties destfile="${build.property.cache.file}"> |
537 <echoproperties destfile="${build.property.cache.file}"> |
458 <propertyset> |
538 <propertyset> |
459 <propertyref prefix="diamonds.build.url"/> |
539 <propertyref prefix="diamonds.build.url"/> |
465 </target> |
545 </target> |
466 |
546 |
467 <!-- Used to prep the build area, now only a placeholder target for the customer --> |
547 <!-- Used to prep the build area, now only a placeholder target for the customer --> |
468 <target name="prep-copy" /> |
548 <target name="prep-copy" /> |
469 |
549 |
470 <!--* @property ccm.enabled |
|
471 Defines that property if you want the ccm-get-input step to be run during the build area preparation. |
|
472 @type boolean |
|
473 @editable required |
|
474 @scope public |
|
475 --> |
|
476 |
|
477 <condition property="run.ccm"> |
|
478 <and> |
|
479 <not> |
|
480 <equals arg1="${ccm.enabled}" arg2="false" casesensitive="true"/> |
|
481 </not> |
|
482 <isset property="ccm.enabled"/> |
|
483 </and> |
|
484 </condition> |
|
485 |
|
486 <!-- Wrapper target to call prep-work-area during the build. |
550 <!-- Wrapper target to call prep-work-area during the build. |
487 log will get recorded under the log directory. |
551 log will get recorded under the log directory. |
488 Property ccm.enabled has to be set to 'true' to enable that step! |
552 Property ccm.enabled has to be set to 'true' to enable that step! |
489 prep-work-area-check-errors is also run so it emits a signal in case of errors. |
553 prep-work-area-check-errors is also run so it emits a signal in case of errors. |
490 --> |
554 --> |
496 |
560 |
497 <!-- Wrapper target to call start-remote-builds during the build. |
561 <!-- Wrapper target to call start-remote-builds during the build. |
498 log will get recorded under the log directory. |
562 log will get recorded under the log directory. |
499 Property remote.builds.enabled has to be defined to enable that step! |
563 Property remote.builds.enabled has to be defined to enable that step! |
500 --> |
564 --> |
501 <target name="do-start-remote-builds" if="remote.builds.enabled"> |
565 <target name="do-start-remote-builds" if="internal.remote.builds.enabled"> |
502 <runtarget target="start-remote-builds"/> |
566 <runtarget target="start-remote-builds"/> |
503 </target> |
567 </target> |
504 |
568 |
505 |
569 |
506 <!-- check-env-prep has to be called after getting the delivery else it doesn't works for the first build. --> |
570 <!-- check-env-prep has to be called after getting the delivery else it doesn't works for the first build. --> |
507 <target name="do-prep" depends="check-tool-dependencies,check-free-space,do-prep-work-area, |
571 <target name="do-prep" depends="check-free-space,do-prep-work-area, |
508 do-start-remote-builds,check-env-prep,diamonds,create-bom,log-build-env,prep-copy, |
572 do-start-remote-builds,check-env-prep,diamonds,create-bom,log-build-env,prep-copy, |
509 set-arm-version" /> |
573 set-arm-version" /> |
|
574 |
510 |
575 |
511 <!-- Macro to notify user by email/sms --> |
576 <!-- Macro to notify user by email/sms --> |
512 <macrodef name="notifyMacro" uri="http://www.nokia.com/helium"> |
577 <macrodef name="notifyMacro" uri="http://www.nokia.com/helium"> |
513 <attribute name="message"/> |
578 <attribute name="message"/> |
514 <sequential> |
579 <sequential> |
536 <hlm:antmetadatainput> |
601 <hlm:antmetadatainput> |
537 <fileset casesensitive="false" file="${build.log.dir}/${build.id}_main.ant.log" /> |
602 <fileset casesensitive="false" file="${build.log.dir}/${build.id}_main.ant.log" /> |
538 <metadatafilterset refid="filterset.ant.output" /> |
603 <metadatafilterset refid="filterset.ant.output" /> |
539 </hlm:antmetadatainput> |
604 </hlm:antmetadatainput> |
540 </hlm:metadatarecord> |
605 </hlm:metadatarecord> |
541 <hlm:generateBuildStatus file="${build.id}_main.ant.log" /> |
606 <hlm:generateBuildStatus file="${build.log.dir}/${build.id}_main.ant.log" /> |
542 <!-- Todo: metadata: insert assertions for metadata parsing here --> |
607 <!-- Todo: metadata: insert assertions for metadata parsing here --> |
543 </target> |
608 </target> |
544 |
609 |
545 <!-- Set properties for track full build event. --> |
610 <!-- Set properties for track full build event. --> |
546 <target name="set-fullbuild-properties"> |
611 <target name="set-fullbuild-properties"> |