pom.xml 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617
  1. <?xml version="1.0"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  3. <!--
  4. Licensed to the Apache Software Foundation (ASF) under one or more
  5. contributor license agreements. See the NOTICE file distributed with
  6. this work for additional information regarding copyright ownership.
  7. The ASF licenses this file to You under the Apache License, Version 2.0
  8. (the "License"); you may not use this file except in compliance with
  9. the License. You may obtain a copy of the License at
  10. http://www.apache.org/licenses/LICENSE-2.0
  11. Unless required by applicable law or agreed to in writing, software
  12. distributed under the License is distributed on an "AS IS" BASIS,
  13. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14. See the License for the specific language governing permissions and
  15. limitations under the License.
  16. -->
  17. <parent>
  18. <groupId>org.apache.ambari</groupId>
  19. <artifactId>ambari-project</artifactId>
  20. <version>2.0.0.0-SNAPSHOT</version>
  21. <relativePath>../ambari-project</relativePath>
  22. </parent>
  23. <modelVersion>4.0.0</modelVersion>
  24. <groupId>org.apache.ambari</groupId>
  25. <artifactId>ambari-agent</artifactId>
  26. <packaging>pom</packaging>
  27. <version>2.0.0.0-SNAPSHOT</version>
  28. <name>Ambari Agent</name>
  29. <description>Ambari Agent</description>
  30. <properties>
  31. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  32. <final.name>${project.artifactId}-${project.version}</final.name>
  33. <package.release>1</package.release>
  34. <package.prefix>/usr</package.prefix>
  35. <package.log.dir>/var/log/ambari-agent</package.log.dir>
  36. <package.pid.dir>/var/run/ambari-agent</package.pid.dir>
  37. <skipTests>false</skipTests>
  38. <agent.install.dir>/usr/lib/python2.6/site-packages/ambari_agent</agent.install.dir>
  39. <ambari_commons.install.dir>/usr/lib/ambari-agent/lib/ambari_commons</ambari_commons.install.dir>
  40. <resource_management.install.dir>/usr/lib/ambari-agent/lib/resource_management</resource_management.install.dir>
  41. <jinja.install.dir>/usr/lib/ambari-agent/lib/ambari_jinja2</jinja.install.dir>
  42. <simplejson.install.dir>/usr/lib/ambari-agent/lib/ambari_simplejson</simplejson.install.dir>
  43. <lib.dir>/usr/lib/ambari-agent/lib</lib.dir>
  44. <deb.architecture>amd64</deb.architecture>
  45. <ambari.server.module>../ambari-server</ambari.server.module>
  46. <target.cache.dir>${project.build.directory}/cache/</target.cache.dir>
  47. <resource.keeper.script>${ambari.server.module}/src/main/python/ambari_server/resourceFilesKeeper.py</resource.keeper.script>
  48. <resourceManagementSrcLocation>${project.basedir}/../ambari-common/src/main/python/resource_management</resourceManagementSrcLocation>
  49. <resourcesFolder>${ambari.server.module}/src/main/resources</resourcesFolder>
  50. <customActionsLocation>${target.cache.dir}/custom_actions</customActionsLocation>
  51. <empty.dir>src/packages/tarball</empty.dir> <!-- any directory in project with not very big amount of files (not to waste-load them) -->
  52. </properties>
  53. <build>
  54. <plugins>
  55. <plugin>
  56. <groupId>org.codehaus.mojo</groupId>
  57. <artifactId>build-helper-maven-plugin</artifactId>
  58. <version>1.8</version>
  59. <executions>
  60. <execution>
  61. <id>parse-version</id>
  62. <phase>validate</phase>
  63. <goals>
  64. <goal>parse-version</goal>
  65. </goals>
  66. </execution>
  67. <execution>
  68. <id>regex-property</id>
  69. <goals>
  70. <goal>regex-property</goal>
  71. </goals>
  72. <configuration>
  73. <name>ambariVersion</name>
  74. <value>${project.version}</value>
  75. <regex>^([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)(\.|-).*</regex>
  76. <replacement>$1.$2.$3.$4</replacement>
  77. <failIfNoMatch>false</failIfNoMatch>
  78. </configuration>
  79. </execution>
  80. </executions>
  81. </plugin>
  82. <plugin>
  83. <artifactId>maven-compiler-plugin</artifactId>
  84. <version>3.0</version>
  85. </plugin>
  86. <plugin>
  87. <groupId>org.apache.maven.plugins</groupId>
  88. <artifactId>maven-surefire-plugin</artifactId>
  89. <configuration>
  90. <skip>${skipSurefireTests}</skip>
  91. </configuration>
  92. </plugin>
  93. <plugin>
  94. <groupId>org.codehaus.mojo</groupId>
  95. <artifactId>exec-maven-plugin</artifactId>
  96. <version>1.2.1</version>
  97. <executions>
  98. <execution>
  99. <configuration>
  100. <executable>${executable.python}</executable>
  101. <workingDirectory>src/test/python</workingDirectory>
  102. <arguments>
  103. <argument>unitTests.py</argument>
  104. </arguments>
  105. <environmentVariables>
  106. <PYTHONPATH>${path.python.1}${pathsep}$PYTHONPATH</PYTHONPATH>
  107. </environmentVariables>
  108. <skip>${skipTests}</skip>
  109. </configuration>
  110. <id>python-test</id>
  111. <phase>test</phase>
  112. <goals>
  113. <goal>exec</goal>
  114. </goals>
  115. </execution>
  116. <execution>
  117. <configuration>
  118. <executable>${executable.python}</executable>
  119. <workingDirectory>${basedir}</workingDirectory>
  120. <arguments>
  121. <argument>${resource.keeper.script}</argument>
  122. <argument>${target.cache.dir}</argument>
  123. </arguments>
  124. <environmentVariables>
  125. <PYTHONPATH>target${dirsep}ambari-agent-${project.version}${pathsep}$PYTHONPATH</PYTHONPATH>
  126. </environmentVariables>
  127. </configuration>
  128. <id>generate-hash-files</id>
  129. <phase>package</phase>
  130. <goals>
  131. <goal>exec</goal>
  132. </goals>
  133. </execution>
  134. </executions>
  135. </plugin>
  136. <plugin>
  137. <groupId>org.codehaus.mojo</groupId>
  138. <artifactId>properties-maven-plugin</artifactId>
  139. <executions>
  140. <execution>
  141. <phase>package</phase>
  142. <goals>
  143. <goal>read-project-properties</goal>
  144. </goals>
  145. <configuration>
  146. <files>
  147. <file>${basedir}/src/main/package/dependencies.properties</file>
  148. </files>
  149. </configuration>
  150. </execution>
  151. </executions>
  152. </plugin>
  153. <plugin>
  154. <groupId>org.codehaus.mojo</groupId>
  155. <artifactId>rpm-maven-plugin</artifactId>
  156. <version>2.1.4</version>
  157. <executions>
  158. <execution>
  159. <!-- unbinds rpm creation from maven lifecycle -->
  160. <phase>none</phase>
  161. <goals>
  162. <goal>rpm</goal>
  163. </goals>
  164. </execution>
  165. </executions>
  166. <configuration>
  167. <copyright>2012, Apache Software Foundation</copyright>
  168. <group>Development</group>
  169. <description>Maven Recipe: RPM Package.</description>
  170. <requires>
  171. <require>${rpm.dependency.list}</require>
  172. </requires>
  173. <postinstallScriptlet>
  174. <scriptFile>src/main/package/rpm/postinstall.sh</scriptFile>
  175. <fileEncoding>utf-8</fileEncoding>
  176. </postinstallScriptlet>
  177. <preinstallScriptlet>
  178. <scriptFile>src/main/package/rpm/preinstall.sh</scriptFile>
  179. <fileEncoding>utf-8</fileEncoding>
  180. </preinstallScriptlet>
  181. <preremoveScriptlet>
  182. <scriptFile>src/main/package/rpm/preremove.sh</scriptFile>
  183. <fileEncoding>utf-8</fileEncoding>
  184. </preremoveScriptlet>
  185. <posttransScriptlet>
  186. <scriptFile>src/main/package/rpm/posttrans_agent.sh</scriptFile>
  187. <fileEncoding>utf-8</fileEncoding>
  188. </posttransScriptlet>
  189. <needarch>x86_64</needarch>
  190. <autoRequires>false</autoRequires>
  191. <mappings>
  192. <mapping>
  193. <directory>/etc</directory>
  194. <username>root</username>
  195. <groupname>root</groupname>
  196. <directoryIncluded>false</directoryIncluded> <!-- avoid managing /etc/init.d -->
  197. <sources>
  198. <source>
  199. <location>${project.build.directory}${dirsep}${project.artifactId}-${project.version}/etc</location>
  200. </source>
  201. </sources>
  202. </mapping>
  203. <mapping>
  204. <directory>/usr</directory>
  205. <username>root</username>
  206. <groupname>root</groupname>
  207. <sources>
  208. <source>
  209. <location>${project.build.directory}${dirsep}${project.artifactId}-${project.version}/usr</location>
  210. </source>
  211. </sources>
  212. </mapping>
  213. <mapping>
  214. <directory>/var</directory>
  215. <username>root</username>
  216. <groupname>root</groupname>
  217. <sources>
  218. <source>
  219. <location>${project.build.directory}${dirsep}${project.artifactId}-${project.version}/var</location>
  220. </source>
  221. </sources>
  222. </mapping>
  223. </mappings>
  224. </configuration>
  225. </plugin>
  226. <plugin>
  227. <groupId>org.vafer</groupId>
  228. <artifactId>jdeb</artifactId>
  229. <version>1.4</version>
  230. <executions>
  231. <execution>
  232. <phase>none</phase>
  233. <goals>
  234. <goal>jdeb</goal>
  235. </goals>
  236. </execution>
  237. </executions>
  238. <configuration>
  239. <controlDir>${basedir}/src/main/package/deb/control</controlDir>
  240. <deb>${basedir}/target/${project.artifactId}_${package-version}-${package-release}.deb</deb>
  241. <skip>false</skip>
  242. <skipPOMs>false</skipPOMs>
  243. <dataSet>
  244. <data>
  245. <src>${project.build.directory}${dirsep}${project.artifactId}-${project.version}.tar.gz</src>
  246. <type>archive</type>
  247. <mapper>
  248. <type>perm</type>
  249. <user>root</user>
  250. <group>root</group>
  251. </mapper>
  252. </data>
  253. </dataSet>
  254. </configuration>
  255. </plugin>
  256. <plugin>
  257. <artifactId>maven-assembly-plugin</artifactId>
  258. <configuration>
  259. <tarLongFileMode>gnu</tarLongFileMode>
  260. <descriptors>
  261. <descriptor>src/packages/tarball/all.xml</descriptor>
  262. </descriptors>
  263. </configuration>
  264. <executions>
  265. <execution>
  266. <id>build-tarball</id>
  267. <phase>${assemblyPhase}</phase>
  268. <goals>
  269. <goal>single</goal>
  270. </goals>
  271. </execution>
  272. </executions>
  273. </plugin>
  274. <plugin>
  275. <artifactId>maven-resources-plugin</artifactId>
  276. <version>2.6</version>
  277. <executions>
  278. <execution>
  279. <id>copy-resources</id>
  280. <phase>prepare-package</phase>
  281. <goals>
  282. <goal>copy-resources</goal>
  283. </goals>
  284. <configuration>
  285. <outputDirectory>${target.cache.dir}</outputDirectory>
  286. <resources>
  287. <resource>
  288. <directory>${ambari.server.module}/src/main/resources</directory>
  289. <includes>
  290. <include>custom_actions/**/*</include>
  291. <include>host_scripts/**/*</include>
  292. </includes>
  293. <filtering>false</filtering>
  294. </resource>
  295. </resources>
  296. </configuration>
  297. </execution>
  298. <execution>
  299. <id>copy-common-resources</id>
  300. <phase>prepare-package</phase>
  301. <goals>
  302. <goal>copy-resources</goal>
  303. </goals>
  304. <configuration>
  305. <outputDirectory>${target.cache.dir}</outputDirectory>
  306. <resources>
  307. <resource>
  308. <directory>${resourcesFolder}</directory>
  309. <includes>
  310. <include>common-services/**</include>
  311. <include>stacks/stack_advisor.py</include>
  312. <include>stacks/${stack.distribution}/**/*</include>
  313. </includes>
  314. <filtering>false</filtering>
  315. </resource>
  316. </resources>
  317. </configuration>
  318. </execution>
  319. <execution>
  320. <id>copy-resources-filter</id>
  321. <phase>generate-resources</phase>
  322. <goals>
  323. <goal>copy-resources</goal>
  324. </goals>
  325. <configuration>
  326. <outputDirectory>${basedir}/target/src</outputDirectory>
  327. <resources>
  328. <resource>
  329. <directory>conf/unix</directory>
  330. <includes>
  331. <include>ambari-agent</include>
  332. </includes>
  333. <filtering>true</filtering>
  334. </resource>
  335. <resource>
  336. <directory>${basedir}/../</directory>
  337. <includes>
  338. <include>version</include>
  339. </includes>
  340. <filtering>true</filtering>
  341. </resource>
  342. </resources>
  343. </configuration>
  344. </execution>
  345. <execution>
  346. <id>copy-repo-resources</id>
  347. <phase>${assemblyPhase}</phase>
  348. <goals>
  349. <goal>copy-resources</goal>
  350. </goals>
  351. <configuration>
  352. <outputDirectory>${basedir}/target/repo</outputDirectory>
  353. <resources>
  354. <resource>
  355. <directory>${project.basedir}/../ambari-common/src/main/repo</directory>
  356. </resource>
  357. <resource>
  358. <directory>${project.build.directory}</directory>
  359. <includes>
  360. <include>${project.artifactId}-${project.version}.tar.gz</include>
  361. </includes>
  362. </resource>
  363. <resource>
  364. <directory>${basedir}/src/main/package/deb/control</directory>
  365. </resource>
  366. <resource>
  367. <directory>${basedir}/src/main/package</directory>
  368. <includes>
  369. <include>dependencies.properties</include>
  370. </includes>
  371. </resource>
  372. <resource>
  373. <directory>${project.basedir}/../ambari-common/src/main/python/ambari_commons</directory>
  374. <includes>
  375. <include>os_check.py</include>
  376. <include>resources/os_family.json</include>
  377. </includes>
  378. </resource>
  379. </resources>
  380. </configuration>
  381. </execution>
  382. </executions>
  383. </plugin>
  384. <plugin>
  385. <groupId>com.coderplus.maven.plugins</groupId>
  386. <artifactId>copy-rename-maven-plugin</artifactId>
  387. <version>1.0.1</version>
  388. <executions>
  389. <execution>
  390. <id>rename-file</id>
  391. <phase>${assemblyPhase}</phase>
  392. <goals>
  393. <goal>rename</goal>
  394. </goals>
  395. <configuration>
  396. <sourceFile>${basedir}/target/repo/${project.artifactId}-${project.version}.tar.gz</sourceFile>
  397. <destinationFile>${basedir}/target/repo/${project.artifactId}.tar.gz</destinationFile>
  398. </configuration>
  399. </execution>
  400. </executions>
  401. </plugin>
  402. <plugin>
  403. <groupId>org.apache.rat</groupId>
  404. <artifactId>apache-rat-plugin</artifactId>
  405. <configuration>
  406. <excludes>
  407. <exclude>conf/unix/logging.conf.sample</exclude>
  408. <exclude>conf/windows/logging.conf.sample</exclude>
  409. <exclude>src/test/python/tmp_hostcheck.result</exclude>
  410. <exclude>src/examples/*</exclude>
  411. <exclude>src/test/python/dummy*.txt</exclude>
  412. <exclude>src/test/python/ambari_agent/dummy_files/*</exclude>
  413. <exclude>src/test/python/ambari_agent/dummy*.txt</exclude>
  414. <exclude>src/main/python/ambari_agent/imports.txt</exclude>
  415. <exclude>src/main/python/ambari_agent/apscheduler/**</exclude>
  416. <exclude>**/*.erb</exclude>
  417. <exclude>**/*.json</exclude>
  418. <exclude>**/*.pydevproject</exclude>
  419. <exclude>src/main/package/choco/ambari-agent.nuspec</exclude>
  420. </excludes>
  421. </configuration>
  422. <executions>
  423. <execution>
  424. <phase>test</phase>
  425. <goals>
  426. <goal>check</goal>
  427. </goals>
  428. </execution>
  429. </executions>
  430. </plugin>
  431. <plugin>
  432. <groupId>org.codehaus.mojo</groupId>
  433. <artifactId>buildnumber-maven-plugin</artifactId>
  434. <version>${buildnumber-maven-plugin-version}</version>
  435. <configuration>
  436. <urlScm>scm:git:https://git-wip-us.apache.org/repos/asf/incubator-ambari.git</urlScm>
  437. </configuration>
  438. <executions>
  439. <execution>
  440. <phase>validate</phase>
  441. <goals>
  442. <goal>create</goal>
  443. </goals>
  444. </execution>
  445. </executions>
  446. </plugin>
  447. </plugins>
  448. <extensions>
  449. <extension>
  450. <groupId>org.apache.maven.wagon</groupId>
  451. <artifactId>wagon-ssh-external</artifactId>
  452. </extension>
  453. </extensions>
  454. </build>
  455. <profiles>
  456. <profile>
  457. <id>windows</id>
  458. <activation>
  459. <os>
  460. <family>win</family>
  461. </os>
  462. </activation>
  463. <properties>
  464. <envClassifier>win</envClassifier>
  465. <dirsep>\</dirsep>
  466. <pathsep>;</pathsep>
  467. <stack.distribution>HDPWIN</stack.distribution>
  468. <executable.python>python</executable.python>
  469. <executable.shell>cmd</executable.shell>
  470. <fileextension.shell>cmd</fileextension.shell>
  471. <fileextension.dot.shell-default>.cmd</fileextension.dot.shell-default>
  472. <path.python.1>${project.basedir}\..\ambari-common\src\main\python;${project.basedir}\..\ambari-agent\src\main\python;${project.basedir}\..\ambari-common\src\main\python\ambari_jinja2;${project.basedir}\..\ambari-common\src\main\python\ambari_commons;${project.basedir}\..\ambari-common\src\test\python;${project.basedir}\src\main\python;${project.basedir}\src\main\python\ambari_agent;${project.basedir}\src\main\python\resource_management;${project.basedir}\src\test\python;${project.basedir}\src\test\python\ambari_agent;${project.basedir}\src\test\python\resource_management;${project.basedir}\..\ambari-server\src\test\python;${project.basedir}\..\ambari-server\src\main\resources\common-services\HDFS\2.1.0.2.0\package\files</path.python.1>
  473. </properties>
  474. </profile>
  475. <profile>
  476. <id>linux</id>
  477. <activation>
  478. <os>
  479. <family>unix</family>
  480. </os>
  481. </activation>
  482. <properties>
  483. <envClassifier>linux</envClassifier>
  484. <dirsep>/</dirsep>
  485. <pathsep>:</pathsep>
  486. <stack.distribution>HDP</stack.distribution>
  487. <executable.python>${project.basedir}/../ambari-common/src/main/unix/ambari-python-wrap</executable.python>
  488. <executable.shell>sh</executable.shell>
  489. <fileextension.shell>sh</fileextension.shell>
  490. <fileextension.dot.shell-default></fileextension.dot.shell-default>
  491. <path.python.1>${project.basedir}/../ambari-common/src/main/python:${project.basedir}/../ambari-agent/src/main/python:${project.basedir}/../ambari-common/src/main/python/ambari_jinja2:${project.basedir}/../ambari-common/src/main/python/ambari_commons:${project.basedir}/../ambari-common/src/test/python:${project.basedir}/src/main/python:${project.basedir}/src/main/python/ambari_agent:${project.basedir}/src/main/python/resource_management:${project.basedir}/src/test/python:${project.basedir}/src/test/python/ambari_agent:${project.basedir}/src/test/python/resource_management:${project.basedir}/../ambari-server/src/test/python:${project.basedir}/../ambari-server/src/main/resources/common-services/HDFS/2.1.0.2.0/package/files</path.python.1>
  492. </properties>
  493. </profile>
  494. <profile>
  495. <id>windows-distro</id>
  496. <activation>
  497. <os>
  498. <family>Windows</family>
  499. </os>
  500. </activation>
  501. <build>
  502. <plugins>
  503. <plugin>
  504. <artifactId>maven-assembly-plugin</artifactId>
  505. <configuration>
  506. <tarLongFileMode>gnu</tarLongFileMode>
  507. <descriptors>
  508. <descriptor>src/packages/tarball/all.xml</descriptor>
  509. <descriptor>src/packages/windows.xml</descriptor>
  510. </descriptors>
  511. </configuration>
  512. <executions>
  513. <execution>
  514. <id>build-windows-zip</id>
  515. <phase>package</phase>
  516. <goals>
  517. <goal>single</goal>
  518. </goals>
  519. </execution>
  520. <execution>
  521. <id>build-choco-dir</id>
  522. <phase>package</phase>
  523. <goals>
  524. <goal>single</goal>
  525. </goals>
  526. <configuration>
  527. <attach>false</attach>
  528. <appendAssemblyId>true</appendAssemblyId>
  529. <tarLongFileMode>gnu</tarLongFileMode>
  530. <descriptors>
  531. <descriptor>src/packages/windows-choco.xml</descriptor>
  532. </descriptors>
  533. </configuration>
  534. </execution>
  535. </executions>
  536. </plugin>
  537. <!-- choco package creation -->
  538. <plugin>
  539. <groupId>org.codehaus.mojo</groupId>
  540. <artifactId>exec-maven-plugin</artifactId>
  541. <version>1.2.1</version>
  542. <executions>
  543. <execution>
  544. <id>build-choco-package</id>
  545. <phase>package</phase>
  546. <goals>
  547. <goal>exec</goal>
  548. </goals>
  549. <configuration>
  550. <executable>choco.exe</executable>
  551. <arguments>
  552. <argument>pack</argument>
  553. <argument>--version=${project.version}</argument>
  554. <argument>${basedir}/target/ambari-agent-${project.version}-choco/ambari-agent.nuspec</argument>
  555. </arguments>
  556. <workingDirectory>target/ambari-agent-${project.version}-choco</workingDirectory>
  557. </configuration>
  558. </execution>
  559. </executions>
  560. </plugin>
  561. <!-- end choco package creation -->
  562. </plugins>
  563. </build>
  564. </profile>
  565. <profile>
  566. <id>pluggable-stack-definition</id>
  567. <activation>
  568. <activeByDefault>false</activeByDefault>
  569. <property>
  570. <name>pluggableStackDefinitionConfig</name>
  571. </property>
  572. </activation>
  573. <properties>
  574. <resourceManagementSrcLocation>target/pluggable-stack-definition/python/resource_management</resourceManagementSrcLocation>
  575. <resourcesFolder>target/pluggable-stack-definition</resourcesFolder>
  576. <resourcesSrcLocation>${project.basedir}/../ambari-server/src/main/resources</resourcesSrcLocation>
  577. <pluggableStackDefinitionScriptLocation>${project.basedir}/../ambari-common/src/main/python/pluggable_stack_definition/GenerateStackDefinition.py</pluggableStackDefinitionScriptLocation>
  578. <pluggableStackDefinitionConfig>${project.basedir}/../ambari-common/src/main/python/pluggable_stack_definition/configs/${stack.distribution}.json</pluggableStackDefinitionConfig>
  579. <pluggableStackDefinitionOutput>target/pluggable-stack-definition</pluggableStackDefinitionOutput>
  580. <customActionsLocation>${pluggableStackDefinitionOutput}/custom_actions</customActionsLocation>
  581. </properties>
  582. <build>
  583. <plugins>
  584. <plugin>
  585. <groupId>org.codehaus.mojo</groupId>
  586. <artifactId>exec-maven-plugin</artifactId>
  587. <version>1.2.1</version>
  588. <executions>
  589. <execution>
  590. <configuration>
  591. <executable>${executable.python}</executable>
  592. <arguments>
  593. <argument>${pluggableStackDefinitionScriptLocation}</argument>
  594. <argument>-c</argument>
  595. <argument>${pluggableStackDefinitionConfig}</argument>
  596. <argument>-r</argument>
  597. <argument>${resourcesSrcLocation}</argument>
  598. <argument>-o</argument>
  599. <argument>${pluggableStackDefinitionOutput}</argument>
  600. </arguments>
  601. </configuration>
  602. <id>pluggable-stack-definition-generate</id>
  603. <phase>generate-resources</phase>
  604. <goals>
  605. <goal>exec</goal>
  606. </goals>
  607. </execution>
  608. </executions>
  609. </plugin>
  610. </plugins>
  611. </build>
  612. </profile>
  613. </profiles>
  614. </project>