You can subscribe to this list here.
2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(37) |
Oct
(12) |
Nov
|
Dec
(47) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
(9) |
Feb
(6) |
Mar
(1) |
Apr
(85) |
May
(9) |
Jun
|
Jul
(6) |
Aug
(85) |
Sep
(42) |
Oct
(27) |
Nov
(15) |
Dec
(27) |
2004 |
Jan
(39) |
Feb
(52) |
Mar
(43) |
Apr
(32) |
May
(18) |
Jun
(5) |
Jul
(63) |
Aug
(69) |
Sep
(12) |
Oct
(80) |
Nov
(55) |
Dec
(30) |
2005 |
Jan
(27) |
Feb
(6) |
Mar
(43) |
Apr
(5) |
May
(48) |
Jun
(48) |
Jul
(100) |
Aug
(16) |
Sep
(43) |
Oct
(25) |
Nov
(249) |
Dec
(2) |
2006 |
Jan
(9) |
Feb
(2) |
Mar
|
Apr
(26) |
May
(21) |
Jun
(8) |
Jul
(14) |
Aug
(104) |
Sep
|
Oct
|
Nov
|
Dec
|
2007 |
Jan
(32) |
Feb
|
Mar
(2) |
Apr
|
May
(38) |
Jun
(2) |
Jul
(9) |
Aug
(1) |
Sep
|
Oct
|
Nov
(1) |
Dec
|
2008 |
Jan
|
Feb
(3) |
Mar
(2) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Torsten U. <tuh...@us...> - 2004-11-22 15:40:50
|
tuhlmann 04/11/22 07:40:43 Modified: javancss/xdocs/sample javancss-report.html javancss/xdocs properties.xml goals.xml javancss maven.xml project.xml plugin.jelly plugin.properties Added: javancss/src/plugin-resources javancss_alt.jsl javancss.jsl Log: Changed generated report. javancss report is now integrated into maven xdoc. Entries are storted by highest metric value. Revision Changes Path 1.2 +234 -527 maven-plugins/javancss/xdocs/sample/javancss-report.html Index: javancss-report.html =================================================================== RCS file: /cvsroot/maven-plugins/maven-plugins/javancss/xdocs/sample/javancss-report.html,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- javancss-report.html 25 Aug 2003 15:55:06 -0000 1.1 +++ javancss-report.html 22 Nov 2004 15:40:40 -0000 1.2 @@ -1,528 +1,235 @@ -<html> -<head> -<META http-equiv="Content-Type" content="text/html; charset=UTF-8"> -<title>JavaNCSS Analysis</title> -<style type="text/css"> - body { - font:normal 68% verdana,arial,helvetica; - color:#000000; - } - table tr td, tr th { - font-size: 68%; - } - table.details tr th{ - font-weight: bold; - text-align:left; - background:#a6caf0; - } - table.details tr td{ - background:#eeeee0; - } +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><title>AgyPaste - JavaNCSS Source Code Analysis</title><style type="text/css" media="all"> + @import url("./style/maven-base.css"); - p { - line-height:1.5em; - margin-top:0.5em; margin-bottom:1.0em; - margin-left:2em; - margin-right:2em; - } - h1 { - margin: 0px 0px 5px; font: 165% verdana,arial,helvetica - } - h2 { - margin-top: 1em; margin-bottom: 0.5em; font: bold 125% verdana,arial,helvetica - } - h3 { - margin-bottom: 0.5em; font: bold 115% verdana,arial,helvetica - } - h4 { - margin-bottom: 0.5em; font: bold 100% verdana,arial,helvetica - } - h5 { - margin-bottom: 0.5em; font: bold 100% verdana,arial,helvetica - } - h6 { - margin-bottom: 0.5em; font: bold 100% verdana,arial,helvetica - } - .Error { - font-weight:bold; color:red; - } - .Failure { - font-weight:bold; color:purple; - } - .Properties { - text-align:right; - } - </style> -</head> -<body> -<h1> -<a name="top">JavaNCSS Analysis</a> -</h1> -<p align="right">Designed for use with <a href="http://www.kclee.com/clemens/java/javancss/">JavaNCSS</a> and <a href="http://jakarta.apache.org">Ant</a>.</p> -<hr size="2"> -<h2>Packages</h2> -<table width="100%" border="0" class="details"> -<tr> -<th>Nr.</th><th>Classes</th><th>Functions</th><th>NCSS</th><th>Javadocs</th><th>Package</th> -</tr> -<tr> -<td>1</td><td>8</td><td>39</td><td>147</td><td>31</td><td>at.it20one.common.attachment</td> -</tr> -<tr> -<td>2</td><td>5</td><td>76</td><td>656</td><td>67</td><td>at.it20one.common.blowfish</td> -</tr> -<tr> -<td>3</td><td>9</td><td>79</td><td>390</td><td>47</td><td>at.it20one.common.command</td> -</tr> -<tr> -<td>4</td><td>5</td><td>18</td><td>114</td><td>15</td><td>at.it20one.common.countrylookup</td> -</tr> -<tr> -<td>5</td><td>8</td><td>65</td><td>309</td><td>25</td><td>at.it20one.common.event</td> -</tr> -<tr> -<td>6</td><td>8</td><td>45</td><td>227</td><td>40</td><td>at.it20one.common.form</td> -</tr> -<tr> -<td>7</td><td>8</td><td>30</td><td>266</td><td>19</td><td>at.it20one.common.formatter</td> -</tr> -<tr> -<td>8</td><td>7</td><td>35</td><td>134</td><td>27</td><td>at.it20one.common.jaf</td> -</tr> -<tr> -<td>9</td><td>7</td><td>41</td><td>188</td><td>45</td><td>at.it20one.common.template</td> -</tr> -<tr> -<td>10</td><td>5</td><td>15</td><td>94</td><td>12</td><td>at.it20one.common.unitlookup</td> -</tr> -<tr> -<td>11</td><td>4</td><td>16</td><td>257</td><td>13</td><td>at.it20one.common.util</td> -</tr> -<tr> -<td>12</td><td>13</td><td>75</td><td>337</td><td>70</td><td>at.it20one.common.validator</td> -</tr> -<tr> -<td>13</td><td>2</td><td>21</td><td>91</td><td>15</td><td>at.it20one.core.appstarter</td> -</tr> -<tr> -<td>14</td><td>4</td><td>24</td><td>89</td><td>4</td><td>at.it20one.core.error</td> -</tr> -<tr> -<td>15</td><td>2</td><td>7</td><td>31</td><td>9</td><td>at.it20one.core.getopt</td> -</tr> -<tr> -<td>16</td><td>1</td><td>14</td><td>67</td><td>2</td><td>at.it20one.core.logger</td> -</tr> -<tr> -<td>17</td><td>2</td><td>0</td><td>5</td><td>2</td><td>at.it20one.core.notification</td> -</tr> -<tr> -<td>18</td><td>2</td><td>17</td><td>88</td><td>16</td><td>at.it20one.core.paramcheck</td> -</tr> -<tr> -<td>19</td><td>1</td><td>2</td><td>11</td><td>1</td><td>at.it20one.core.release</td> -</tr> -<tr> -<td>20</td><td>1</td><td>3</td><td>17</td><td>3</td><td>at.it20one.core.releaseinfomgr</td> -</tr> -<tr> -<td>21</td><td>4</td><td>66</td><td>461</td><td>43</td><td>at.it20one.core.util</td> -</tr> -<tr> -<td> </td><td> </td><td> </td><td> </td><td> </td><td> </td> -</tr> -<tr> -<td> </td><td>106</td><td>688</td><td>3979</td><td>506</td><td>Total</td> -</tr> -</table> -<p></p> -<table width="100%" border="0" class="details"> -<tr> -<th>Packages - </th><th>Classes - </th><th>Functions - </th><th>NCSS - </th><th>Javadocs - </th><th>|per - </th> -</tr> -<tr> -<td>21.00 - </td><td>106.00 - </td><td>688.00 - </td><td>3,979.00 - </td><td>506.00 - </td><td>| Project - </td> -</tr> -<tr> -<td> - </td><td>5.05 - </td><td>32.76 - </td><td>189.48 - </td><td>24.10 - </td><td>| Package - </td> -</tr> -<tr> -<td> - </td><td> - </td><td>6.49 - </td><td>37.54 - </td><td>4.77 - </td><td>| Class - </td> -</tr> -<tr> -<td> - </td><td> - </td><td> - </td><td>5.78 - </td><td>0.74 - </td><td>| Function - </td> -</tr> -</table> -<p></p> -<h2>Objects</h2> -<table width="100%" border="0" class="details"> -<tr> -<th>Nr.</th><th>NCSS</th><th>Functions</th><th>Classes</th><th>Javadocs</th><th>Class</th> -</tr> -<tr> -<td>1</td><td>35</td><td>9</td><td>0</td><td>10</td><td>at.it20one.common.attachment.Attachment</td> -</tr> -<tr> -<td>2</td><td>27</td><td>10</td><td>0</td><td>3</td><td>at.it20one.common.attachment.ESDAttachment</td> -</tr> -<tr> -<td>3</td><td>25</td><td>9</td><td>0</td><td>2</td><td>at.it20one.common.attachment.ESDHTMLAttachment</td> -</tr> -<tr> -<td>4</td><td>9</td><td>3</td><td>0</td><td>4</td><td>at.it20one.common.attachment.HTMLAttachment</td> -</tr> -<tr> -<td>5</td><td>7</td><td>2</td><td>0</td><td>3</td><td>at.it20one.common.attachment.PDFAttachment</td> -</tr> -<tr> -<td>6</td><td>7</td><td>2</td><td>0</td><td>3</td><td>at.it20one.common.attachment.TextAttachment</td> -</tr> -<tr> -<td>7</td><td>7</td><td>2</td><td>0</td><td>3</td><td>at.it20one.common.attachment.XMLAttachment</td> -</tr> -<tr> -<td>8</td><td>7</td><td>2</td><td>0</td><td>3</td><td>at.it20one.common.attachment.XMLDSigAttachment</td> -</tr> -<tr> -<td>9</td><td>73</td><td>11</td><td>0</td><td>12</td><td>at.it20one.common.blowfish.BinConverter</td> -</tr> -<tr> -<td>10</td><td>104</td><td>22</td><td>0</td><td>21</td><td>at.it20one.common.blowfish.BlowfishCBC</td> -</tr> -<tr> -<td>11</td><td>62</td><td>6</td><td>0</td><td>6</td><td>at.it20one.common.blowfish.BlowfishEasy</td> -</tr> -<tr> -<td>12</td><td>216</td><td>18</td><td>0</td><td>17</td><td>at.it20one.common.blowfish.BlowfishECB</td> -</tr> -<tr> -<td>13</td><td>194</td><td>19</td><td>0</td><td>11</td><td>at.it20one.common.blowfish.SHA1</td> -</tr> -<tr> -<td>14</td><td>156</td><td>31</td><td>0</td><td>24</td><td>at.it20one.common.command.Command</td> -</tr> -<tr> -<td>15</td><td>69</td><td>14</td><td>0</td><td>9</td><td>at.it20one.common.command.CommandAcceptor</td> -</tr> -<tr> -<td>16</td><td>6</td><td>4</td><td>0</td><td>1</td><td>at.it20one.common.command.CommandDispatcher</td> -</tr> -<tr> -<td>17</td><td>5</td><td>4</td><td>0</td><td>1</td><td>at.it20one.common.command.CommandDispatcherDelegate</td> -</tr> -<tr> -<td>18</td><td>15</td><td>4</td><td>0</td><td>1</td><td>at.it20one.common.command.CommandDispatcherEntry</td> -</tr> -<tr> -<td>19</td><td>86</td><td>13</td><td>0</td><td>1</td><td>at.it20one.common.command.CommandDispatcherImpl</td> -</tr> -<tr> -<td>20</td><td>11</td><td>2</td><td>0</td><td>2</td><td>at.it20one.common.command.CommandDispatcherSingleton</td> -</tr> -<tr> -<td>21</td><td>2</td><td>1</td><td>0</td><td>1</td><td>at.it20one.common.command.CommandExecutor</td> -</tr> -<tr> -<td>22</td><td>25</td><td>6</td><td>0</td><td>7</td><td>at.it20one.common.command.CommandHelper</td> -</tr> -<tr> -<td>23</td><td>20</td><td>6</td><td>0</td><td>6</td><td>at.it20one.common.countrylookup.Country</td> -</tr> -<tr> -<td>24</td><td>3</td><td>0</td><td>0</td><td>1</td><td>at.it20one.common.countrylookup.CountryHelper</td> -</tr> -<tr> -<td>25</td><td>6</td><td>4</td><td>0</td><td>5</td><td>at.it20one.common.countrylookup.CountryLookup</td> -</tr> -<tr> -<td>26</td><td>61</td><td>6</td><td>0</td><td>1</td><td>at.it20one.common.countrylookup.CountryLookupImpl</td> -</tr> -<tr> -<td>27</td><td>12</td><td>2</td><td>0</td><td>2</td><td>at.it20one.common.countrylookup.CountryLookupSingleton</td> -</tr> -<tr> -<td>28</td><td>125</td><td>27</td><td>0</td><td>9</td><td>at.it20one.common.event.Event</td> -</tr> -<tr> -<td>29</td><td>69</td><td>14</td><td>0</td><td>9</td><td>at.it20one.common.event.EventAcceptor</td> -</tr> -<tr> -<td>30</td><td>6</td><td>4</td><td>0</td><td>1</td><td>at.it20one.common.event.EventDispatcher</td> -</tr> -<tr> -<td>31</td><td>3</td><td>2</td><td>0</td><td>1</td><td>at.it20one.common.event.EventDispatcherDelegate</td> -</tr> -<tr> -<td>32</td><td>15</td><td>4</td><td>0</td><td>1</td><td>at.it20one.common.event.EventDispatcherEntry</td> -</tr> -<tr> -<td>33</td><td>65</td><td>11</td><td>0</td><td>1</td><td>at.it20one.common.event.EventDispatcherImpl</td> -</tr> -<tr> -<td>34</td><td>11</td><td>2</td><td>0</td><td>2</td><td>at.it20one.common.event.EventDispatcherSingleton</td> -</tr> -<tr> -<td>35</td><td>2</td><td>1</td><td>0</td><td>1</td><td>at.it20one.common.event.EventExecutor</td> -</tr> -<tr> -<td>36</td><td>8</td><td>2</td><td>0</td><td>1</td><td>at.it20one.common.form.FormFactorySingleton</td> -</tr> -<tr> -<td>37</td><td>14</td><td>13</td><td>0</td><td>14</td><td>at.it20one.common.form.FormInstance</td> -</tr> -<tr> -<td>38</td><td>5</td><td>4</td><td>0</td><td>5</td><td>at.it20one.common.form.FormInstanceEx</td> -</tr> -<tr> -<td>39</td><td>5</td><td>4</td><td>0</td><td>5</td><td>at.it20one.common.form.FormInstanceFactory</td> -</tr> -<tr> -<td>40</td><td>4</td><td>3</td><td>0</td><td>4</td><td>at.it20one.common.form.FormMetadata</td> -</tr> -<tr> -<td>41</td><td>73</td><td>0</td><td>0</td><td>1</td><td>at.it20one.common.form.FormPropertyDefs</td> -</tr> -<tr> -<td>42</td><td>86</td><td>19</td><td>0</td><td>9</td><td>at.it20one.common.form.FormTypeDef</td> -</tr> -<tr> -<td>43</td><td>11</td><td>0</td><td>0</td><td>1</td><td>at.it20one.common.form.FormXmlTagDefs</td> -</tr> -<tr> -<td>44</td><td>40</td><td>4</td><td>0</td><td>5</td><td>at.it20one.common.formatter.FCalenderFormatter</td> -</tr> -<tr> -<td>45</td><td>21</td><td>4</td><td>0</td><td>1</td><td>at.it20one.common.formatter.FCountryFormatter</td> -</tr> -<tr> -<td>46</td><td>44</td><td>6</td><td>0</td><td>2</td><td>at.it20one.common.formatter.FCurrencyFormatter</td> -</tr> -<tr> -<td>47</td><td>42</td><td>3</td><td>0</td><td>2</td><td>at.it20one.common.formatter.FDateFormatter</td> -</tr> -<tr> -<td>48</td><td>5</td><td>4</td><td>0</td><td>5</td><td>at.it20one.common.formatter.FFormatter</td> -</tr> -<tr> -<td>49</td><td>33</td><td>3</td><td>0</td><td>1</td><td>at.it20one.common.formatter.FFormatterImpl</td> -</tr> -<tr> -<td>50</td><td>3</td><td>1</td><td>0</td><td>2</td><td>at.it20one.common.formatter.FTimeStampFormatter</td> -</tr> -<tr> -<td>51</td><td>46</td><td>5</td><td>0</td><td>1</td><td>at.it20one.common.formatter.FUnitFormatter</td> -</tr> -<tr> -<td>52</td><td>49</td><td>11</td><td>0</td><td>9</td><td>at.it20one.common.jaf.ByteArrayDataSource</td> -</tr> -<tr> -<td>53</td><td>9</td><td>3</td><td>0</td><td>2</td><td>at.it20one.common.jaf.ESDDatasource</td> -</tr> -<tr> -<td>54</td><td>9</td><td>3</td><td>0</td><td>2</td><td>at.it20one.common.jaf.HTMLDatasource</td> -</tr> -<tr> -<td>55</td><td>9</td><td>3</td><td>0</td><td>2</td><td>at.it20one.common.jaf.PDFDatasource</td> -</tr> -<tr> -<td>56</td><td>13</td><td>5</td><td>0</td><td>2</td><td>at.it20one.common.jaf.TextDatasource</td> -</tr> -<tr> -<td>57</td><td>13</td><td>5</td><td>0</td><td>5</td><td>at.it20one.common.jaf.XMLDatasource</td> -</tr> -<tr> -<td>58</td><td>12</td><td>5</td><td>0</td><td>5</td><td>at.it20one.common.jaf.XMLDSigDatasource</td> -</tr> -<tr> -<td>59</td><td>48</td><td>9</td><td>0</td><td>9</td><td>at.it20one.common.template.ESDTemplate</td> -</tr> -<tr> -<td>60</td><td>40</td><td>9</td><td>0</td><td>10</td><td>at.it20one.common.template.FormTemplate</td> -</tr> -<tr> -<td>61</td><td>4</td><td>1</td><td>0</td><td>2</td><td>at.it20one.common.template.HTMLTemplate</td> -</tr> -<tr> -<td>62</td><td>63</td><td>19</td><td>0</td><td>18</td><td>at.it20one.common.template.MailTemplate</td> -</tr> -<tr> -<td>63</td><td>4</td><td>1</td><td>0</td><td>2</td><td>at.it20one.common.template.PDFTemplate</td> -</tr> -<tr> -<td>64</td><td>4</td><td>1</td><td>0</td><td>2</td><td>at.it20one.common.template.TextTemplate</td> -</tr> -<tr> -<td>65</td><td>4</td><td>1</td><td>0</td><td>2</td><td>at.it20one.common.template.XMLDSigTemplate</td> -</tr> -<tr> -<td>66</td><td>16</td><td>5</td><td>0</td><td>4</td><td>at.it20one.common.unitlookup.Unit</td> -</tr> -<tr> -<td>67</td><td>3</td><td>0</td><td>0</td><td>1</td><td>at.it20one.common.unitlookup.UnitHelper</td> -</tr> -<tr> -<td>68</td><td>5</td><td>3</td><td>0</td><td>4</td><td>at.it20one.common.unitlookup.UnitLookup</td> -</tr> -<tr> -<td>69</td><td>47</td><td>5</td><td>0</td><td>1</td><td>at.it20one.common.unitlookup.UnitLookupImpl</td> -</tr> -<tr> -<td>70</td><td>12</td><td>2</td><td>0</td><td>2</td><td>at.it20one.common.unitlookup.UnitLookupSingleton</td> -</tr> -<tr> -<td>71</td><td>126</td><td>7</td><td>0</td><td>3</td><td>at.it20one.common.util.Base64</td> -</tr> -<tr> -<td>72</td><td>46</td><td>4</td><td>0</td><td>5</td><td>at.it20one.common.util.ContentDumper</td> -</tr> -<tr> -<td>73</td><td>44</td><td>3</td><td>0</td><td>3</td><td>at.it20one.common.util.GenerateUniqueId</td> -</tr> -<tr> -<td>74</td><td>21</td><td>2</td><td>0</td><td>2</td><td>at.it20one.common.util.XMLUtil</td> -</tr> -<tr> -<td>75</td><td>4</td><td>3</td><td>0</td><td>4</td><td>at.it20one.common.validator.Constraint</td> -</tr> -<tr> -<td>76</td><td>16</td><td>0</td><td>0</td><td>1</td><td>at.it20one.common.validator.ConstraintDefs</td> -</tr> -<tr> -<td>77</td><td>16</td><td>4</td><td>0</td><td>2</td><td>at.it20one.common.validator.CountryCodeValidator</td> -</tr> -<tr> -<td>78</td><td>9</td><td>3</td><td>0</td><td>2</td><td>at.it20one.common.validator.CurrencyCodeValidator</td> -</tr> -<tr> -<td>79</td><td>80</td><td>11</td><td>0</td><td>9</td><td>at.it20one.common.validator.DateStringValidator</td> -</tr> -<tr> -<td>80</td><td>37</td><td>10</td><td>0</td><td>9</td><td>at.it20one.common.validator.DefaultValidator</td> -</tr> -<tr> -<td>81</td><td>12</td><td>3</td><td>0</td><td>2</td><td>at.it20one.common.validator.LanguageCodeValidator</td> -</tr> -<tr> -<td>82</td><td>11</td><td>7</td><td>0</td><td>6</td><td>at.it20one.common.validator.NullValidator</td> -</tr> -<tr> -<td>83</td><td>17</td><td>7</td><td>0</td><td>8</td><td>at.it20one.common.validator.Rule</td> -</tr> -<tr> -<td>84</td><td>81</td><td>18</td><td>0</td><td>17</td><td>at.it20one.common.validator.StringValidator</td> -</tr> -<tr> -<td>85</td><td>8</td><td>3</td><td>0</td><td>2</td><td>at.it20one.common.validator.UnitCodeValidator</td> -</tr> -<tr> -<td>86</td><td>8</td><td>3</td><td>0</td><td>4</td><td>at.it20one.common.validator.ValidationException</td> -</tr> -<tr> -<td>87</td><td>4</td><td>3</td><td>0</td><td>4</td><td>at.it20one.common.validator.Validator</td> -</tr> -<tr> -<td>88</td><td>7</td><td>6</td><td>0</td><td>7</td><td>at.it20one.core.appstarter.AppStarter</td> -</tr> -<tr> -<td>89</td><td>75</td><td>15</td><td>0</td><td>8</td><td>at.it20one.core.appstarter.DefaultAppStarter</td> -</tr> -<tr> -<td>90</td><td>9</td><td>4</td><td>0</td><td>1</td><td>at.it20one.core.error.BusinessException</td> -</tr> -<tr> -<td>91</td><td>54</td><td>12</td><td>0</td><td>1</td><td>at.it20one.core.error.CascadingException</td> -</tr> -<tr> -<td>92</td><td>9</td><td>4</td><td>0</td><td>1</td><td>at.it20one.core.error.NotFoundException</td> -</tr> -<tr> -<td>93</td><td>9</td><td>4</td><td>0</td><td>1</td><td>at.it20one.core.error.SystemException</td> -</tr> -<tr> -<td>94</td><td>4</td><td>2</td><td>0</td><td>3</td><td>at.it20one.core.getopt.Getopt</td> -</tr> -<tr> -<td>95</td><td>25</td><td>5</td><td>0</td><td>6</td><td>at.it20one.core.getopt.GetoptImpl</td> -</tr> -<tr> -<td>96</td><td>62</td><td>14</td><td>0</td><td>2</td><td>at.it20one.core.logger.Debug</td> -</tr> -<tr> -<td>97</td><td>1</td><td>0</td><td>0</td><td>1</td><td>at.it20one.core.notification.Acceptor</td> -</tr> -<tr> -<td>98</td><td>1</td><td>0</td><td>0</td><td>1</td><td>at.it20one.core.notification.Executor</td> -</tr> -<tr> -<td>99</td><td>3</td><td>1</td><td>0</td><td>2</td><td>at.it20one.core.paramcheck.IParamCheck</td> -</tr> -<tr> -<td>100</td><td>81</td><td>16</td><td>0</td><td>14</td><td>at.it20one.core.paramcheck.ParamCheck</td> -</tr> -<tr> -<td>101</td><td>9</td><td>2</td><td>0</td><td>1</td><td>at.it20one.core.release.ReleaseInfo</td> -</tr> -<tr> -<td>102</td><td>15</td><td>3</td><td>0</td><td>3</td><td>at.it20one.core.releaseinfomgr.ReleaseInfoMgr</td> -</tr> -<tr> -<td>103</td><td>48</td><td>15</td><td>0</td><td>2</td><td>at.it20one.core.util.FileUtils</td> -</tr> -<tr> -<td>104</td><td>17</td><td>1</td><td>0</td><td>1</td><td>at.it20one.core.util.HashtableUtil</td> -</tr> -<tr> -<td>105</td><td>173</td><td>27</td><td>0</td><td>18</td><td>at.it20one.core.util.PropertiesUtil</td> -</tr> -<tr> -<td>106</td><td>202</td><td>23</td><td>0</td><td>22</td><td>at.it20one.core.util.StringUtils</td> -</tr> -<tr> -<td colspan="5">Average Object NCSS:</td><td>34.85</td> -</tr> -<tr> -<td colspan="5">Average Object Functions:</td><td>6.49</td> -</tr> -<tr> -<td colspan="5">Average Object Inner Classes:</td><td>0.00</td> -</tr> -<tr> -<td colspan="5">Average Object Javadoc Comments:</td><td>4.77</td> -</tr> -<tr> -<td colspan="5">Program NCSS:</td><td>3,979.00</td> -</tr> -</table> -<p></p> -</body> -</html> + @import url("./style/maven-theme.css");</style><link rel="stylesheet" href="./style/print.css" type="text/css" media="print"></link><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"></meta><style type="text/css">.javancss td ul, .javancss td ul li { margin:0; padding:0; list-style-type: none; } .alert { color: red }</style></head><body class="javancss"><div id="banner"><a href="http://www.agynamix.com" id="organizationLogo"><img alt="AGYNAMIX Design" src=".images/logo.jpg"></img></a><a href="http://www.agynamix.com" id="projectLogo"><img alt="AgyPaste" src=".images/logo.jpg"></img></a><div class="clear"><hr></hr></div></div><div id="breadcrumbs"><div class="xleft"> + Last published: 22 November 2004 + | Doc for 0.9.8</div><div class="xright"></div><div class="clear"><hr></hr></div></div><div id="leftColumn"><div id="navcolumn"><div id="menuOverview"><h5>Overview</h5><ul><li class="none"><a href="application.html">The application</a></li></ul></div><div id="menuProject_Documentation"><h5>Project Documentation</h5><ul><li class="none"><a href="index.html">About AgyPaste</a></li><li class="collapsed"><a href="project-info.html">Project Info</a></li><li class="expanded"><a href="maven-reports.html">Project Reports</a><ul><li class="none"><a href="jdepend-report.html">Metrics</a></li><li class="none"><a href="apidocs/index.html" class="newWindow" title="New Window" target="_blank">JavaDocs</a></li><li class="none"><a href="javadoc.html">JavaDoc Report</a></li><li class="none"><a href="javadoc-warnings-report.html">JavaDoc Warnings Report</a></li><li class="none"><strong><a href="javancss-report.html">JavaNCSS</a></strong></li><li class="none"><a href="license.html">Project License</a></li><li class="none"><a href="jcoverage/index.html">JCoverage</a></li></ul></li></ul></div><a href="http://maven.apache.org/" title="Built by Maven" id="poweredBy"><img alt="Built by Maven" src="./images/logos/maven-button-1.png"></img></a></div></div><div id="bodyColumn"><div class="contentBox"><div class="section"><a name="JavaNCSS_Metric_Results"></a><h2>JavaNCSS Metric Results</h2><p>[ + <a href="#Packages">packages</a>] [ + <a href="#Objects">objects</a>] [ + <a href="#Functions">functions</a>] [ + <a href="#Explanations">explanations</a>]</p><p>The following document contains the results of a + <a href="http://www.kclee.de/clemens/java/javancss/" class="newWindow" title="New Window" target="_blank">JavaNCSS</a>metric analysis.</p></div><div class="section"><a name="Packages"></a><h2>Packages</h2><p>[ + <a href="#Packages">packages</a>] [ + <a href="#Objects">objects</a>] [ + <a href="#Functions">functions</a>] [ + <a href="#Explanations">explanations</a>]</p><h4>Packages sorted by NCSS</h4><table class="bodyTable"><thead> + <tr class="a"><th>Package</th><th>Classes</th><th>Functions</th><th> + <a href="#EXncss">NCSS</a> + </th><th>Javadocs</th><th>Javadoc Lines</th><th>Single Comment Lines</th><th>Multi Comment Lines</th></tr> + </thead><tbody> + <tr class="b"><td style="text-align:left">com.agynamix.agypaste.plugin.isilo</td><td style="text-align:left">12</td><td style="text-align:left">96</td><td style="text-align:left">816</td><td style="text-align:left">57</td><td style="text-align:left">228</td><td style="text-align:left">34</td><td style="text-align:left">127</td></tr> + <tr class="a"><td style="text-align:left">com.agynamix.agypaste.conduit.common</td><td style="text-align:left">7</td><td style="text-align:left">54</td><td style="text-align:left">773</td><td style="text-align:left">30</td><td style="text-align:left">356</td><td style="text-align:left">253</td><td style="text-align:left">48</td></tr> + <tr class="b"><td style="text-align:left">com.agynamix.agypaste.preferences</td><td style="text-align:left">8</td><td style="text-align:left">105</td><td style="text-align:left">620</td><td style="text-align:left">46</td><td style="text-align:left">362</td><td style="text-align:left">42</td><td style="text-align:left">223</td></tr> + <tr class="a"><td style="text-align:left">com.agynamix.agypaste.dialogs</td><td style="text-align:left">7</td><td style="text-align:left">57</td><td style="text-align:left">350</td><td style="text-align:left">51</td><td style="text-align:left">175</td><td style="text-align:left">9</td><td style="text-align:left">38</td></tr> + <tr class="b"><td style="text-align:left">com.agynamix.agypaste.gui</td><td style="text-align:left">2</td><td style="text-align:left">14</td><td style="text-align:left">285</td><td style="text-align:left">7</td><td style="text-align:left">27</td><td style="text-align:left">16</td><td style="text-align:left">24</td></tr> + <tr class="a"><td style="text-align:left">com.agynamix.agypaste.plugin.isilo.preferences</td><td style="text-align:left">2</td><td style="text-align:left">13</td><td style="text-align:left">275</td><td style="text-align:left">6</td><td style="text-align:left">29</td><td style="text-align:left">23</td><td style="text-align:left">28</td></tr> + <tr class="b"><td style="text-align:left">com.agynamix.agypaste.impl</td><td style="text-align:left">6</td><td style="text-align:left">46</td><td style="text-align:left">251</td><td style="text-align:left">31</td><td style="text-align:left">118</td><td style="text-align:left">12</td><td style="text-align:left">72</td></tr> + <tr class="a"><td style="text-align:left">com.agynamix.agypaste.conduit.memo</td><td style="text-align:left">3</td><td style="text-align:left">11</td><td style="text-align:left">198</td><td style="text-align:left">11</td><td style="text-align:left">50</td><td style="text-align:left">31</td><td style="text-align:left">7</td></tr> + <tr class="b"><td style="text-align:left">com.agynamix.agypaste.ctrl</td><td style="text-align:left">4</td><td style="text-align:left">21</td><td style="text-align:left">193</td><td style="text-align:left">8</td><td style="text-align:left">33</td><td style="text-align:left">10</td><td style="text-align:left">20</td></tr> + <tr class="a"><td style="text-align:left">com.agynamix.agypaste.plugin.memo</td><td style="text-align:left">2</td><td style="text-align:left">16</td><td style="text-align:left">172</td><td style="text-align:left">11</td><td style="text-align:left">39</td><td style="text-align:left">8</td><td style="text-align:left">24</td></tr> + <tr class="b"><td style="text-align:left">com.agynamix.agypaste.infra</td><td style="text-align:left">16</td><td style="text-align:left">70</td><td style="text-align:left">165</td><td style="text-align:left">40</td><td style="text-align:left">193</td><td style="text-align:left">15</td><td style="text-align:left">196</td></tr> + <tr class="a"><td style="text-align:left">com.agynamix.agypaste.action</td><td style="text-align:left">6</td><td style="text-align:left">12</td><td style="text-align:left">78</td><td style="text-align:left">12</td><td style="text-align:left">46</td><td style="text-align:left">6</td><td style="text-align:left">30</td></tr> + <tr class="b"><td style="text-align:left">com.agynamix.agypaste</td><td style="text-align:left">1</td><td style="text-align:left">1</td><td style="text-align:left">13</td><td style="text-align:left">1</td><td style="text-align:left">5</td><td style="text-align:left">2</td><td style="text-align:left">12</td></tr> + </tbody></table><table class="bodyTable"><thead> + <tr class="a"><th>Classes total</th><th>Functions total</th><th> + <a href="#EXncss">NCSS total</a> + </th><th>Javadocs</th><th>Javadoc Lines</th><th>Single Comment Lines</th><th>Multi Comment Lines</th></tr> + </thead><tbody> + <tr class="b"><td style="text-align:left">76</td><td style="text-align:left">516</td><td style="text-align:left">4189</td><td style="text-align:left">311</td><td style="text-align:left">1661</td><td style="text-align:left">461</td><td style="text-align:left">849</td></tr> + </tbody></table></div><div class="section"><a name="Objects"></a><h2>Objects</h2><p>[ + <a href="#Packages">packages</a>] [ + <a href="#Objects">objects</a>] [ + <a href="#Functions">functions</a>] [ + <a href="#Explanations">explanations</a>]</p><h4>TOP 30 classes containing the most NCSS</h4><table class="bodyTable"><thead> + <tr class="a"><th>Object</th><th> + <a href="#EXncss">NCSS</a> + </th><th>Functions</th><th>Classes</th><th>Javadocs</th></tr> + </thead><tbody> + <tr class="b"><td style="text-align:left">com.agynamix.agypaste.conduit.common.RecordManager</td><td style="text-align:left">315</td><td style="text-align:left">24</td><td style="text-align:left">0</td><td style="text-align:left">12</td></tr> + <tr class="a"><td style="text-align:left">com.agynamix.agypaste.preferences.AgyPastePreferenceStore</td><td style="text-align:left">194</td><td style="text-align:left">51</td><td style="text-align:left">0</td><td style="text-align:left">19</td></tr> + <tr class="b"><td style="text-align:left">com.agynamix.agypaste.plugin.isilo.preferences.ISiloPreferencePageImageDetails</td><td style="text-align:left">171</td><td style="text-align:left">8</td><td style="text-align:left">4</td><td style="text-align:left">4</td></tr> + <tr class="a"><td style="text-align:left">com.agynamix.agypaste.conduit.common.HotSyncChangeDlg</td><td style="text-align:left">169</td><td style="text-align:left">5</td><td style="text-align:left">2</td><td style="text-align:left">3</td></tr> + <tr class="b"><td style="text-align:left">com.agynamix.agypaste.preferences.PasswordFieldEditor</td><td style="text-align:left">158</td><td style="text-align:left">28</td><td style="text-align:left">4</td><td style="text-align:left">20</td></tr> + <tr class="a"><td style="text-align:left">com.agynamix.agypaste.plugin.isilo.ISiloControllerView</td><td style="text-align:left">151</td><td style="text-align:left">20</td><td style="text-align:left">2</td><td style="text-align:left">19</td></tr> + <tr class="b"><td style="text-align:left">com.agynamix.agypaste.gui.AgyPasteGUI</td><td style="text-align:left">146</td><td style="text-align:left">10</td><td style="text-align:left">2</td><td style="text-align:left">6</td></tr> + <tr class="a"><td style="text-align:left">com.agynamix.agypaste.dialogs.LicenseDialogView</td><td style="text-align:left">136</td><td style="text-align:left">17</td><td style="text-align:left">1</td><td style="text-align:left">17</td></tr> + <tr class="b"><td style="text-align:left">com.agynamix.agypaste.conduit.common.CategoryManager</td><td style="text-align:left">135</td><td style="text-align:left">9</td><td style="text-align:left">0</td><td style="text-align:left">5</td></tr> + <tr class="a"><td style="text-align:left">com.agynamix.agypaste.plugin.isilo.ISiloPluginHandler</td><td style="text-align:left">119</td><td style="text-align:left">6</td><td style="text-align:left">3</td><td style="text-align:left">5</td></tr> + <tr class="b"><td style="text-align:left">com.agynamix.agypaste.plugin.isilo.ISiloController</td><td style="text-align:left">98</td><td style="text-align:left">12</td><td style="text-align:left">0</td><td style="text-align:left">9</td></tr> + <tr class="a"><td style="text-align:left">com.agynamix.agypaste.plugin.memo.MemoPlugin</td><td style="text-align:left">96</td><td style="text-align:left">12</td><td style="text-align:left">6</td><td style="text-align:left">10</td></tr> + <tr class="b"><td style="text-align:left">com.agynamix.agypaste.preferences.GlobalPreferencePageProxy</td><td style="text-align:left">91</td><td style="text-align:left">5</td><td style="text-align:left">2</td><td style="text-align:left">2</td></tr> + <tr class="a"><td style="text-align:left">com.agynamix.agypaste.ctrl.PluginRetriever</td><td style="text-align:left">84</td><td style="text-align:left">8</td><td style="text-align:left">1</td><td style="text-align:left">2</td></tr> + <tr class="b"><td style="text-align:left">com.agynamix.agypaste.gui.AgyPasteTray</td><td style="text-align:left">84</td><td style="text-align:left">4</td><td style="text-align:left">8</td><td style="text-align:left">1</td></tr> + <tr class="a"><td style="text-align:left">com.agynamix.agypaste.impl.AppConfigImpl</td><td style="text-align:left">80</td><td style="text-align:left">19</td><td style="text-align:left">0</td><td style="text-align:left">15</td></tr> + <tr class="b"><td style="text-align:left">com.agynamix.agypaste.plugin.isilo.CommandServer</td><td style="text-align:left">80</td><td style="text-align:left">7</td><td style="text-align:left">1</td><td style="text-align:left">1</td></tr> + <tr class="a"><td style="text-align:left">com.agynamix.agypaste.conduit.memo.AgyPasteCond</td><td style="text-align:left">72</td><td style="text-align:left">3</td><td style="text-align:left">0</td><td style="text-align:left">4</td></tr> + <tr class="b"><td style="text-align:left">com.agynamix.agypaste.conduit.memo.MemoReader</td><td style="text-align:left">71</td><td style="text-align:left">4</td><td style="text-align:left">1</td><td style="text-align:left">4</td></tr> + <tr class="a"><td style="text-align:left">com.agynamix.agypaste.ctrl.PluginManagerImpl</td><td style="text-align:left">62</td><td style="text-align:left">7</td><td style="text-align:left">0</td><td style="text-align:left">3</td></tr> + <tr class="b"><td style="text-align:left">com.agynamix.agypaste.plugin.isilo.preferences.ISiloPreferencePageDestination</td><td style="text-align:left">60</td><td style="text-align:left">5</td><td style="text-align:left">2</td><td style="text-align:left">2</td></tr> + <tr class="a"><td style="text-align:left">com.agynamix.agypaste.plugin.isilo.URIUtil</td><td style="text-align:left">54</td><td style="text-align:left">7</td><td style="text-align:left">0</td><td style="text-align:left">4</td></tr> + <tr class="b"><td style="text-align:left">com.agynamix.agypaste.dialogs.AboutDialog</td><td style="text-align:left">51</td><td style="text-align:left">6</td><td style="text-align:left">2</td><td style="text-align:left">1</td></tr> + <tr class="a"><td style="text-align:left">com.agynamix.agypaste.plugin.isilo.ISiloPlugin</td><td style="text-align:left">51</td><td style="text-align:left">10</td><td style="text-align:left">1</td><td style="text-align:left">7</td></tr> + <tr class="b"><td style="text-align:left">com.agynamix.agypaste.impl.RegistrarImpl</td><td style="text-align:left">50</td><td style="text-align:left">13</td><td style="text-align:left">0</td><td style="text-align:left">5</td></tr> + <tr class="a"><td style="text-align:left">com.agynamix.agypaste.conduit.common.ConduitConfigure</td><td style="text-align:left">48</td><td style="text-align:left">4</td><td style="text-align:left">0</td><td style="text-align:left">5</td></tr> + <tr class="b"><td style="text-align:left">com.agynamix.agypaste.impl.AgyPastePreferenceConfigAdapterImpl</td><td style="text-align:left">44</td><td style="text-align:left">10</td><td style="text-align:left">0</td><td style="text-align:left">6</td></tr> + <tr class="a"><td style="text-align:left">com.agynamix.agypaste.dialogs.BuildInfoDialogView</td><td style="text-align:left">40</td><td style="text-align:left">6</td><td style="text-align:left">0</td><td style="text-align:left">5</td></tr> + <tr class="b"><td style="text-align:left">com.agynamix.agypaste.plugin.isilo.ISiloIXLGenerator</td><td style="text-align:left">37</td><td style="text-align:left">5</td><td style="text-align:left">0</td><td style="text-align:left">3</td></tr> + <tr class="a"><td style="text-align:left">com.agynamix.agypaste.plugin.isilo.ISiloIXSGenerator</td><td style="text-align:left">37</td><td style="text-align:left">5</td><td style="text-align:left">0</td><td style="text-align:left">3</td></tr> + </tbody></table><h4>TOP 30 classes containing the most functions</h4><table class="bodyTable"><thead> + <tr class="b"><th>Object</th><th>NCSS</th><th> + <strong>Functions</strong> + </th><th>Classes</th><th>Javadocs</th></tr> + </thead><tbody> + <tr class="a"><td style="text-align:left">com.agynamix.agypaste.preferences.AgyPastePreferenceStore</td><td style="text-align:left">194</td><td style="text-align:left">51</td><td style="text-align:left">0</td><td style="text-align:left">19</td></tr> + <tr class="b"><td style="text-align:left">com.agynamix.agypaste.preferences.PasswordFieldEditor</td><td style="text-align:left">158</td><td style="text-align:left">28</td><td style="text-align:left">4</td><td style="text-align:left">20</td></tr> + <tr class="a"><td style="text-align:left">com.agynamix.agypaste.conduit.common.RecordManager</td><td style="text-align:left">315</td><td style="text-align:left">24</td><td style="text-align:left">0</td><td style="text-align:left">12</td></tr> + <tr class="b"><td style="text-align:left">com.agynamix.agypaste.plugin.isilo.ISiloControllerView</td><td style="text-align:left">151</td><td style="text-align:left">20</td><td style="text-align:left">2</td><td style="text-align:left">19</td></tr> + <tr class="a"><td style="text-align:left">com.agynamix.agypaste.impl.AppConfigImpl</td><td style="text-align:left">80</td><td style="text-align:left">19</td><td style="text-align:left">0</td><td style="text-align:left">15</td></tr> + <tr class="b"><td style="text-align:left">com.agynamix.agypaste.dialogs.LicenseDialogView</td><td style="text-align:left">136</td><td style="text-align:left">17</td><td style="text-align:left">1</td><td style="text-align:left">17</td></tr> + <tr class="a"><td style="text-align:left">com.agynamix.agypaste.infra.AppConfig</td><td style="text-align:left">18</td><td style="text-align:left">17</td><td style="text-align:left">0</td><td style="text-align:left">5</td></tr> + <tr class="b"><td style="text-align:left">com.agynamix.agypaste.plugin.isilo.IISiloControllerView</td><td style="text-align:left">18</td><td style="text-align:left">17</td><td style="text-align:left">0</td><td style="text-align:left">5</td></tr> + <tr class="a"><td style="text-align:left">com.agynamix.agypaste.dialogs.ILicenseDialogView</td><td style="text-align:left">15</td><td style="text-align:left">14</td><td style="text-align:left">0</td><td style="text-align:left">13</td></tr> + <tr class="b"><td style="text-align:left">com.agynamix.agypaste.impl.RegistrarImpl</td><td style="text-align:left">50</td><td style="text-align:left">13</td><td style="text-align:left">0</td><td style="text-align:left">5</td></tr> + <tr class="a"><td style="text-align:left">com.agynamix.agypaste.infra.Registrar</td><td style="text-align:left">13</td><td style="text-align:left">12</td><td style="text-align:left">0</td><td style="text-align:left">2</td></tr> + <tr class="b"><td style="text-align:left">com.agynamix.agypaste.plugin.isilo.ISiloController</td><td style="text-align:left">98</td><td style="text-align:left">12</td><td style="text-align:left">0</td><td style="text-align:left">9</td></tr> + <tr class="a"><td style="text-align:left">com.agynamix.agypaste.plugin.memo.MemoPlugin</td><td style="text-align:left">96</td><td style="text-align:left">12</td><td style="text-align:left">6</td><td style="text-align:left">10</td></tr> + <tr class="b"><td style="text-align:left">com.agynamix.agypaste.infra.AgyPastePlugin</td><td style="text-align:left">12</td><td style="text-align:left">11</td><td style="text-align:left">0</td><td style="text-align:left">9</td></tr> + <tr class="a"><td style="text-align:left">com.agynamix.agypaste.gui.AgyPasteGUI</td><td style="text-align:left">146</td><td style="text-align:left">10</td><td style="text-align:left">2</td><td style="text-align:left">6</td></tr> + <tr class="b"><td style="text-align:left">com.agynamix.agypaste.impl.AgyPastePreferenceConfigAdapterImpl</td><td style="text-align:left">44</td><td style="text-align:left">10</td><td style="text-align:left">0</td><td style="text-align:left">6</td></tr> + <tr class="a"><td style="text-align:left">com.agynamix.agypaste.plugin.isilo.ISiloPlugin</td><td style="text-align:left">51</td><td style="text-align:left">10</td><td style="text-align:left">1</td><td style="text-align:left">7</td></tr> + <tr class="b"><td style="text-align:left">com.agynamix.agypaste.conduit.common.CategoryManager</td><td style="text-align:left">135</td><td style="text-align:left">9</td><td style="text-align:left">0</td><td style="text-align:left">5</td></tr> + <tr class="a"><td style="text-align:left">com.agynamix.agypaste.conduit.common.ImageCanvas</td><td style="text-align:left">29</td><td style="text-align:left">8</td><td style="text-align:left">0</td><td style="text-align:left">1</td></tr> + <tr class="b"><td style="text-align:left">com.agynamix.agypaste.ctrl.PluginRetriever</td><td style="text-align:left">84</td><td style="text-align:left">8</td><td style="text-align:left">1</td><td style="text-align:left">2</td></tr> + <tr class="a"><td style="text-align:left">com.agynamix.agypaste.plugin.isilo.preferences.ISiloPreferencePageImageDetails</td><td style="text-align:left">171</td><td style="text-align:left">8</td><td style="text-align:left">4</td><td style="text-align:left">4</td></tr> + <tr class="b"><td style="text-align:left">com.agynamix.agypaste.ctrl.PluginManagerImpl</td><td style="text-align:left">62</td><td style="text-align:left">7</td><td style="text-align:left">0</td><td style="text-align:left">3</td></tr> + <tr class="a"><td style="text-align:left">com.agynamix.agypaste.plugin.isilo.CommandServer</td><td style="text-align:left">80</td><td style="text-align:left">7</td><td style="text-align:left">1</td><td style="text-align:left">1</td></tr> + <tr class="b"><td style="text-align:left">com.agynamix.agypaste.plugin.isilo.URIUtil</td><td style="text-align:left">54</td><td style="text-align:left">7</td><td style="text-align:left">0</td><td style="text-align:left">4</td></tr> + <tr class="a"><td style="text-align:left">com.agynamix.agypaste.preferences.LabelFieldEditor</td><td style="text-align:left">20</td><td style="text-align:left">7</td><td style="text-align:left">0</td><td style="text-align:left">1</td></tr> + <tr class="b"><td style="text-align:left">com.agynamix.agypaste.preferences.SeparatorFieldEditor</td><td style="text-align:left">20</td><td style="text-align:left">7</td><td style="text-align:left">0</td><td style="text-align:left">1</td></tr> + <tr class="a"><td style="text-align:left">com.agynamix.agypaste.dialogs.AboutDialog</td><td style="text-align:left">51</td><td style="text-align:left">6</td><td style="text-align:left">2</td><td style="text-align:left">1</td></tr> + <tr class="b"><td style="text-align:left">com.agynamix.agypaste.dialogs.BuildInfoDialogView</td><td style="text-align:left">40</td><td style="text-align:left">6</td><td style="text-align:left">0</td><td style="text-align:left">5</td></tr> + <tr class="a"><td style="text-align:left">com.agynamix.agypaste.dialogs.LicenseDialog</td><td style="text-align:left">32</td><td style="text-align:left">6</td><td style="text-align:left">0</td><td style="text-align:left">6</td></tr> + <tr class="b"><td style="text-align:left">com.agynamix.agypaste.plugin.isilo.ISiloPluginHandler</td><td style="text-align:left">119</td><td style="text-align:left">6</td><td style="text-align:left">3</td><td style="text-align:left">5</td></tr> + </tbody></table><h4>Averages</h4><table class="bodyTable"><thead> + <tr class="a"><th> + <a href="#EXncss">NCSS average</a> + </th><th>Program NCSS</th><th>Classes average</th><th>Functions average</th><th>Javadocs average</th></tr> + </thead><tbody> + <tr class="b"><td>47.17</td><td>4,189.00</td><td>0.57</td><td>6.79</td><td>4.09</td></tr> + </tbody></table></div><div class="section"><a name="Functions"></a><h2>Functions</h2><p>[ + <a href="#Packages">packages</a>] [ + <a href="#Objects">objects</a>] [ + <a href="#Functions">functions</a>] [ + <a href="#Explanations">explanations</a>]</p><h4>TOP 30 functions containing the most NCSS</h4><table class="bodyTable"><thead> + <tr class="a"><th>Function</th><th> + <a href="#EXncss">NCSS</a> + </th><th>CCN</th><th>Javadoc</th></tr> + </thead><tbody> + <tr class="b"><td style="text-align:left">com.agynamix.agypaste.conduit.common.HotSyncChangeDlg.HotSyncChangeDlg(Frame,String,String)</td><td style="text-align:left">113</td><td style="text-align:left">5</td><td style="text-align:left">1</td></tr> + <tr class="a"><td style="text-align:left">com.agynamix.agypaste.plugin.isilo.preferences.ISiloPreferencePageImageDetails.createContents(Composite)</td><td style="text-align:left">105</td><td style="text-align:left">1</td><td style="text-align:left">1</td></tr> + <tr class="b"><td style="text-align:left">com.agynamix.agypaste.plugin.isilo.ISiloControllerView.createContent(Composite)</td><td style="text-align:left">94</td><td style="text-align:left">1</td><td style="text-align:left">1</td></tr> + <tr class="a"><td style="text-align:left">com.agynamix.agypaste.conduit.common.CategoryManager.synchronize(Vector,Vector)</td><td style="text-align:left">84</td><td class="alert" style="text-align:left">26</td><td style="text-align:left">1</td></tr> + <tr class="b"><td style="text-align:left">com.agynamix.agypaste.dialogs.LicenseDialogView.createDialogArea(Composite)</td><td style="text-align:left">75</td><td style="text-align:left">1</td><td style="text-align:left">1</td></tr> + <tr class="a"><td style="text-align:left">com.agynamix.agypaste.gui.AgyPasteGUI.createContents(Composite)</td><td style="text-align:left">71</td><td style="text-align:left">7</td><td class="alert" style="text-align:left">0</td></tr> + <tr class="b"><td style="text-align:left">com.agynamix.agypaste.gui.AgyPasteTray.initializeTray()</td><td style="text-align:left">64</td><td style="text-align:left">5</td><td class="alert" style="text-align:left">0</td></tr> + <tr class="a"><td style="text-align:left">com.agynamix.agypaste.conduit.common.RecordManager.handleModified(Record,Record)</td><td style="text-align:left">49</td><td class="alert" style="text-align:left">13</td><td style="text-align:left">1</td></tr> + <tr class="b"><td style="text-align:left">com.agynamix.agypaste.plugin.isilo.CommandServer.run()</td><td style="text-align:left">49</td><td class="alert" style="text-align:left">14</td><td class="alert" style="text-align:left">0</td></tr> + <tr class="a"><td style="text-align:left">com.agynamix.agypaste.conduit.memo.AgyPasteCond.open(SyncProperties)</td><td style="text-align:left">44</td><td style="text-align:left">9</td><td style="text-align:left">1</td></tr> + <tr class="b"><td style="text-align:left">com.agynamix.agypaste.preferences.GlobalPreferencePageProxy.createFieldEditors()</td><td style="text-align:left">44</td><td style="text-align:left">1</td><td class="alert" style="text-align:left">0</td></tr> + <tr class="a"><td style="text-align:left">com.agynamix.agypaste.plugin.memo.MemoPlugin.createContent(Composite)</td><td style="text-align:left">41</td><td style="text-align:left">1</td><td style="text-align:left">1</td></tr> + <tr class="b"><td style="text-align:left">com.agynamix.agypaste.conduit.memo.MemoReader.readRecords(String,CategoryManager)</td><td style="text-align:left">36</td><td style="text-align:left">7</td><td style="text-align:left">1</td></tr> + <tr class="a"><td style="text-align:left">com.agynamix.agypaste.plugin.isilo.FeedReader.main(String[])</td><td style="text-align:left">32</td><td style="text-align:left">6</td><td class="alert" style="text-align:left">0</td></tr> + <tr class="b"><td style="text-align:left">com.agynamix.agypaste.conduit.common.RecordManager.handleArchived(Record,Record)</td><td style="text-align:left">31</td><td style="text-align:left">8</td><td style="text-align:left">1</td></tr> + <tr class="a"><td style="text-align:left">com.agynamix.agypaste.preferences.PasswordFieldEditor.getTextControl(Composite)</td><td style="text-align:left">31</td><td style="text-align:left">5</td><td style="text-align:left">1</td></tr> + <tr class="b"><td style="text-align:left">com.agynamix.agypaste.conduit.common.RecordManager.synchronizePCRecord(Record)</td><td style="text-align:left">30</td><td style="text-align:left">9</td><td style="text-align:left">1</td></tr> + <tr class="a"><td style="text-align:left">com.agynamix.agypaste.plugin.isilo.ISiloPluginHandler.launchISilo(String,String)</td><td style="text-align:left">28</td><td style="text-align:left">6</td><td style="text-align:left">1</td></tr> + <tr class="b"><td style="text-align:left">com.agynamix.agypaste.plugin.isilo.preferences.ISiloPreferencePageDestination.createFieldEditors()</td><td style="text-align:left">26</td><td style="text-align:left">1</td><td class="alert" style="text-align:left">0</td></tr> + <tr class="a"><td style="text-align:left">com.agynamix.agypaste.preferences.AgyPastePreferenceDialog.open()</td><td style="text-align:left">26</td><td style="text-align:left">5</td><td class="alert" style="text-align:left">0</td></tr> + <tr class="b"><td style="text-align:left">com.agynamix.agypaste.conduit.common.RecordManager.fastSyncData(Vector,Vector)</td><td style="text-align:left">25</td><td style="text-align:left">6</td><td style="text-align:left">1</td></tr> + <tr class="a"><td style="text-align:left">com.agynamix.agypaste.conduit.common.RecordManager.slowSyncData(Vector,Vector,Vector)</td><td style="text-align:left">24</td><td style="text-align:left">5</td><td style="text-align:left">1</td></tr> + <tr class="b"><td style="text-align:left">com.agynamix.agypaste.conduit.common.RecordManager.synchronizeHHRecord(Record)</td><td style="text-align:left">23</td><td style="text-align:left">6</td><td style="text-align:left">1</td></tr> + <tr class="a"><td style="text-align:left">com.agynamix.agypaste.dialogs.BuildInfoDialogView.createDialogArea(Composite)</td><td style="text-align:left">21</td><td style="text-align:left">1</td><td style="text-align:left">1</td></tr> + <tr class="b"><td style="text-align:left">com.agynamix.agypaste.ctrl.PluginRetriever.findPluginClasses(List,Class)</td><td style="text-align:left">20</td><td style="text-align:left">8</td><td class="alert" style="text-align:left">0</td></tr> + <tr class="a"><td style="text-align:left">com.agynamix.agypaste.impl.SplasherImpl.splash()</td><td style="text-align:left">20</td><td style="text-align:left">3</td><td style="text-align:left">1</td></tr> + <tr class="b"><td style="text-align:left">com.agynamix.agypaste.plugin.isilo.ISiloIXLGenerator.generateSiteFile(String,String,Map)</td><td style="text-align:left">20</td><td style="text-align:left">7</td><td style="text-align:left">1</td></tr> + <tr class="a"><td style="text-align:left">com.agynamix.agypaste.plugin.isilo.ISiloIXSGenerator.generateFile(String,String,Map)</td><td style="text-align:left">20</td><td style="text-align:left">7</td><td style="text-align:left">1</td></tr> + <tr class="b"><td style="text-align:left">com.agynamix.agypaste.plugin.isilo.URIUtil.fixURI(String)</td><td style="text-align:left">20</td><td style="text-align:left">5</td><td style="text-align:left">1</td></tr> + <tr class="a"><td style="text-align:left">com.agynamix.agypaste.plugin.isilo.ISiloPluginHandler.handle(Command)</td><td style="text-align:left">18</td><td style="text-align:left">4</td><td class="alert" style="text-align:left">0</td></tr> + </tbody></table><table class="bodyTable"><thead> + <tr class="b"><th>Program NCSS:</th><th> + <a href="#EXncss">NCSS average</a> + </th><th>CCN average</th><th>Javadocs average</th></tr> + </thead><tbody> + <tr class="a"><td>4,189.00</td><td>5.99</td><td>1.78</td><td>0.43</td></tr> + </tbody></table></div><div class="section"><a name="Explanations"></a><h2>Explanations</h2><p>[ + <a href="#Packages">packages</a>] [ + <a href="#Objects">objects</a>] [ + <a href="#Functions">functions</a>] [ + <a href="#Explanations">explanations</a>]</p><h4> + <a name="EXncss">Non Commenting Source Statements (NCSS)</a> + </h4><p>Statements for JavaNCSS are not statements as specified in the Java Language Specification but include all kinds of declarations too. Roughly spoken, NCSS is approximately equivalent to counting ';' and '{' characters in Java source files.</p><p>Actually, the NCSS counter gets incremented by one for each:</p><table class="bodyTable"><thead> + <tr class="b"><th> </th><th>Examples</th><th>Comment</th></tr> + </thead><tbody> + <tr class="a"><td>Package declaration</td><td>package java.lang;</td><td> </td></tr> + <tr class="b"><td>Import declaration</td><td>import java.awt.*;</td><td> </td></tr> + <tr class="a"><td VALIGN="TOP">Class declaration</td><td>- public class Foo { + <BR> + </BR>- public class Foo extends Bla {</td><td> </td></tr> + <tr class="b"><td VALIGN="TOP" NOSAVE="">Interface declaration</td><td>public interface Able ; {</td><td> </td></tr> + <tr class="a"><td VALIGN="TOP">Field declaration</td><td VALIGN="TOP">- int a; + <BR> + </BR>- int a, b, c = 5, d = 6;</td><td>No matter how many fields get actually declared through a comma separated list, and no matter if these fields get actually initialized, only one statement is counted. So "int a, b, c = 5, d = 6;" gets only +1 count, not four or even six (let me know if there is good reason to count it differently).</td></tr> + <tr class="b"><td VALIGN="TOP">Method declaration</td><td>- public void cry(); + <BR> + </BR>- public void gib() throws DeadException {</td><td> </td></tr> + <tr class="a"><td>Constructor declaration</td><td VALIGN="TOP">public Foo() {</td><td> </td></tr> + <tr class="b"><td VALIGN="TOP">Constructor invocation</td><td>- this(); + <BR> + </BR>- super();</td><td> </td></tr> + <tr class="a"><td VALIGN="TOP">Statement</td><td>- i = 0; + <BR> + </BR>- if (ok) + <BR> + </BR>- if (exit) { + <BR> + </BR>- if (3 == 4); + <BR> + </BR>- if (4 == 4) { ; } + <BR> + </BR>- } else {</td><td VALIGN="TOP">expression, if, else, while, do, for, switch, break, continue, return, throw, synchronized, catch, finally</td></tr> + <tr class="b"><td>Label</td><td>fine :</td><td>normal, case, default</td></tr> + </tbody></table><p>Not counted are empty statements, empty blocks or semicolons after closing brackets. Of course, comments don't get counted too. Closing brackets also never get counted, the same applies to blocks in general.</p><p>In some cases consecutive semicolons are illegal according to the JLS but JavaNCSS still tolerates them (thought JavaNCSS is still more strict as 'javac'). Nevertheless they are never counted as two statements.</p><h4>Cyclomatic Complexity Number (CCN)</h4><p>CCN is also know as McCabe Metric. There exists a much hyped theory behind it based on graph theory, but it all comes down to simply counting 'if', 'for', 'while' statements etc. in a method. Whenever the control flow of a method splits, the "CCN counter" gets incremented by one.</p><p>Each method has a minimum value of 1 per default. For each of the following Java keywords/statements this value gets incremented by one: + <ul> + <LI> + <TT>if</TT> + </LI> + <LI> + <TT>for</TT> + </LI> + <LI> + <TT>while</TT> + </LI> + <LI> + <TT>case</TT> + </LI> + <LI> + <TT>catch</TT> + </LI> + </ul>Also if the control flow of a method returns abortively the + <tt>CCN</tt>value will be incremented by one: + <ul> + <li> + <tt>return</tt> + </li> + <li> + <tt>throw</tt> + </li> + </ul> + </p><p>An ordinary return at the end of method (no matter if it's a function or a procedure) will not be counted.</p><p>Note that + <TT>else</TT>, + <TT>default</TT>, and + <TT>finally</TT>don't increment the CCN value any further. On the other hand, a simple method with a + <tt>switch</tt>statement and a huge block of + <tt>case</tt>statements can have a surprisingly high CCN value (still it has the same value when converting a + <tt>switch</tt>block to an equivalent sequence of + <tt>if</tt>statements).</p><p>The first article about this trivial software metric is one of the most cited papers in computer science. Sometimes you just must be the first to point out some basic shit and you are history. It seems just like a wonder that nobody was able to package Lines of Code in a more scientific manner. Now it's too late to label someone's name on it :).</p></div></div></div><div class="clear"><hr></hr></div><div id="footer"><div class="xright">© 2004, AGYNAMIX Design</div><div class="clear"><hr></hr></div></div></body></html> \ No newline at end of file 1.3 +16 -3 maven-plugins/javancss/xdocs/properties.xml Index: properties.xml =================================================================== RCS file: /cvsroot/maven-plugins/maven-plugins/javancss/xdocs/properties.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- properties.xml 25 Aug 2003 15:52:50 -0000 1.2 +++ properties.xml 22 Nov 2004 15:40:41 -0000 1.3 @@ -18,12 +18,12 @@ <td>maven.javancss.build.dir</td> <td>Yes</td> <td>The directory where the XML report is generated</td> - </tr> + </tr> <tr> <td>maven.javancss.docs.dest</td> <td>Yes</td> <td>The directory where the HTML report is generated</td> - </tr> + </tr> <tr> <td>maven.javancss.metrics.package</td> <td>Yes</td> @@ -38,7 +38,20 @@ <td>maven.javancss.metrics.function</td> <td>Yes</td> <td>Generate JavaNCSS metrics for member functions</td> - </tr> + </tr> + <tr> + <td>maven.javancss.metrics.topcount</td> + <td>Yes</td> + <td>Number of lines shown in report. Not all functions/objects/packages are listed. + Only the amount of this proper... [truncated message content] |
From: <jo...@us...> - 2004-11-22 08:06:49
|
joehni 04/11/22 00:05:37 Modified: javaapp project.xml Log: Fix site address. Revision Changes Path 1.15 +1 -1 maven-plugins/javaapp/project.xml Index: project.xml =================================================================== RCS file: /cvsroot/maven-plugins/maven-plugins/javaapp/project.xml,v retrieving revision 1.14 retrieving revision 1.15 diff -u -r1.14 -r1.15 --- project.xml 19 Nov 2004 13:48:56 -0000 1.14 +++ project.xml 22 Nov 2004 08:05:36 -0000 1.15 @@ -16,7 +16,7 @@ <description>Plugin to generate an executable JAR</description> <shortDescription>Generates an executable JAR</shortDescription> <!-- issue tracking url, siteAddress are in parent --> - <siteDirectory>/home/groups/m/ma/maven-plugins/htdocs/javaapp/</siteDirectory> + <siteDirectory>/home/groups/m/ma/maven-plugins/htdocs/${pom.artifactId}/</siteDirectory> <repository> <connection>scm:cvs:pserver:ano...@cv...:/cvsroot/maven-plugins:maven-plugins/javaapp</connection> |
From: <jo...@us...> - 2004-11-19 16:44:50
|
joehni 04/11/19 08:44:42 Modified: javaapp plugin.jelly javaapp/src/plugin-test project.xml Log: Trim manifest entries. Revision Changes Path 1.12 +6 -3 maven-plugins/javaapp/plugin.jelly Index: plugin.jelly =================================================================== RCS file: /cvsroot/maven-plugins/maven-plugins/javaapp/plugin.jelly,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- plugin.jelly 19 Nov 2004 15:05:59 -0000 1.11 +++ plugin.jelly 19 Nov 2004 16:44:42 -0000 1.12 @@ -211,11 +211,14 @@ </j:if> <u:replace var="packagePath" oldChar="." newChar="/" value="${pom.package}"/> <ant:section name="${packagePath}/"> - <ant:attribute name="Specification-Title" value="${maven.javaapp.manifest.specificationTitle}"/> - <ant:attribute name="Specification-Vendor" value="${maven.javaapp.manifest.specificationVendor}"/> + <j:set var="manifestEntry" value="${maven.javaapp.manifest.specificationTitle}" /> + <ant:attribute name="Specification-Title" value="${manifestEntry.trim()}"/> + <j:set var="manifestEntry" value="${maven.javaapp.manifest.specificationVendor}" /> + <ant:attribute name="Specification-Vendor" value="${manifestEntry.trim()}"/> <ant:attribute name="Specification-Version" value="${specificationVersion}"/> <ant:attribute name="Implementation-Title" value="${pom.package}"/> - <ant:attribute name="Implementation-Vendor" value="${pom.organization.name}"/> + <j:set var="manifestEntry" value="${pom.organization.name}" /> + <ant:attribute name="Implementation-Vendor" value="${manifestEntry.trim()}"/> <ant:attribute name="Implementation-Version" value="${pom.currentVersion}"/> </ant:section> 1.2 +7 -2 maven-plugins/javaapp/src/plugin-test/project.xml Index: project.xml =================================================================== RCS file: /cvsroot/maven-plugins/maven-plugins/javaapp/src/plugin-test/project.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- project.xml 19 Nov 2004 13:38:05 -0000 1.1 +++ project.xml 19 Nov 2004 16:44:42 -0000 1.2 @@ -30,8 +30,13 @@ </organization> <inceptionYear>2004</inceptionYear> <package>demo</package> - <shortDescription>Demo Package</shortDescription> - <description>Demo Package Description</description> + <!-- Beware the format, trimming of the description is tested! --> + <shortDescription> + Demo Package + </shortDescription> + <description> + Demo Package Description + </description> <url/> <issueTrackingUrl/> <siteAddress/> |
From: <jo...@us...> - 2004-11-19 15:06:07
|
joehni 04/11/19 07:06:00 Modified: javaapp plugin.jelly Added: javaapp/src/plugin-test project.properties Log: Fix Main-Class. Revision Changes Path 1.11 +17 -7 maven-plugins/javaapp/plugin.jelly Index: plugin.jelly =================================================================== RCS file: /cvsroot/maven-plugins/maven-plugins/javaapp/plugin.jelly,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- plugin.jelly 19 Nov 2004 13:38:05 -0000 1.10 +++ plugin.jelly 19 Nov 2004 15:05:59 -0000 1.11 @@ -96,20 +96,29 @@ </goal> <!-- ================================================================== --> - <!-- javaapp:jar --> + <!-- javaapp:prereq --> <!-- ================================================================== --> - <goal name="javaapp:jar" - description="Packs all dependent JARs into an executable JAR" - prereqs="test:test,javaapp:copy-deps,javaapp:jar-resources"> - - <!-- fail fast --> - + <goal name="javaapp:prereq" + description="Ensure all necessary properties"> <j:choose> <j:when test="${pom.currentVersion == null}"> <ant:fail>You must define currentVersion in your POM.</ant:fail> </j:when> + <j:set var="mainClass" value="${maven.javaapp.mainclass}" /> + <j:when test="${empty(mainClass)}"> + <ant:fail>You must define your main class.</ant:fail> + </j:when> </j:choose> + </goal> + + <!-- ================================================================== --> + <!-- javaapp:jar --> + <!-- ================================================================== --> + + <goal name="javaapp:jar" + description="Packs all dependent JARs into an executable JAR" + prereqs="javaapp:prereq,test:test,javaapp:copy-deps,javaapp:jar-resources"> <!-- unzip all JARS --> @@ -178,6 +187,7 @@ <j:set var="mavenVersion" value="1.0"/> </j:if> <ant:attribute name="Maven-Version" value="${mavenVersion}"/> + <ant:attribute name="Main-Class" value="${maven.javaapp.mainclass}"/> <j:if test="${context.getVariable('maven.jar.manifest.attributes.list') != null}"> <u:tokenize var="attributeList" delim="," trim="true">${maven.jar.manifest.attributes.list}</u:tokenize> <j:forEach var="attribute" items="${attributeList}"> 1.1 maven-plugins/javaapp/src/plugin-test/project.properties Index: project.properties =================================================================== maven.javaapp.mainclass=demo.Manifest |
From: <jo...@us...> - 2004-11-19 13:49:15
|
joehni 04/11/19 05:48:57 Modified: javaapp project.xml javaapp/xdocs changes.xml properties.xml Log: Ready for release 1.3. Revision Changes Path 1.14 +1 -1 maven-plugins/javaapp/project.xml Index: project.xml =================================================================== RCS file: /cvsroot/maven-plugins/maven-plugins/javaapp/project.xml,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- project.xml 19 Nov 2004 13:38:05 -0000 1.13 +++ project.xml 19 Nov 2004 13:48:56 -0000 1.14 @@ -6,7 +6,7 @@ <id>maven-javaapp-plugin</id> <name>Java Application Plugin</name> <!-- groupId is in parent --> - <currentVersion>1.3-SNAPSHOT</currentVersion> + <currentVersion>1.3</currentVersion> <!-- organization is in parent --> <inceptionYear>2002</inceptionYear> <!-- remove package, if parent is fixed --> 1.6 +1 -1 maven-plugins/javaapp/xdocs/changes.xml Index: changes.xml =================================================================== RCS file: /cvsroot/maven-plugins/maven-plugins/javaapp/xdocs/changes.xml,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- changes.xml 18 Nov 2004 15:33:48 -0000 1.5 +++ changes.xml 19 Nov 2004 13:48:56 -0000 1.6 @@ -13,7 +13,7 @@ <body> - <release version="1.3-SNAPSHOT" date="in CVS"> + <release version="1.3" date="2004-11-19"> <action dev="joehni" type="update"> Cumulate licenses in META-INF. </action> 1.7 +6 -4 maven-plugins/javaapp/xdocs/properties.xml Index: properties.xml =================================================================== RCS file: /cvsroot/maven-plugins/maven-plugins/javaapp/xdocs/properties.xml,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- properties.xml 18 Nov 2004 15:33:48 -0000 1.6 +++ properties.xml 19 Nov 2004 13:48:56 -0000 1.7 @@ -123,10 +123,12 @@ <td> The <code>specificationVersion</code> in the manifest. According to <a href="http://java.sun.com/j2se/1.4.2/docs/guide/versioning/spec/versioning2.html"> - Sun's specification</a> this must be a number to compare. Defaults - to <code>${pom.specificationVersion}</code>. Since this value is - not part of POM v3, the plugin generates a version if the variable - is empty by using major.minor of the pom.version. + Sun's specification</a> this must be a number to compare (although + this spec defines invalid <em>Package</em> elements instead of + <em>Implementation</em> elements). Defaults to + <code>${pom.specificationVersion}</code>. Since this value is not + part of POM v3, the plugin generates a version if the variable is + empty by using major.minor of the pom.version. </td> </tr> |
From: Eric P. <de...@us...> - 2004-11-19 13:39:27
|
dep4b 04/11/19 05:39:19 Modified: webtest .cvsignore Log: ignore eclipse files Revision Changes Path 1.4 +1 -0 maven-plugins/webtest/.cvsignore Index: .cvsignore =================================================================== RCS file: /cvsroot/maven-plugins/maven-plugins/webtest/.cvsignore,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- .cvsignore 12 Oct 2004 13:27:22 -0000 1.3 +++ .cvsignore 19 Nov 2004 13:39:19 -0000 1.4 @@ -1,2 +1,3 @@ target maven.log +.project |
From: Eric P. <de...@us...> - 2004-11-19 13:39:15
|
dep4b 04/11/19 05:39:08 Modified: webtest/xdocs how-to.xml changes.xml properties.xml webtest plugin.jelly project.xml Log: Add interactive parameters. Revision Changes Path 1.8 +9 -0 maven-plugins/webtest/xdocs/how-to.xml Index: how-to.xml =================================================================== RCS file: /cvsroot/maven-plugins/maven-plugins/webtest/xdocs/how-to.xml,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- how-to.xml 28 Oct 2004 08:52:18 -0000 1.7 +++ how-to.xml 19 Nov 2004 13:38:56 -0000 1.8 @@ -69,6 +69,15 @@ in the ${plugin.dir}/plugin-resources/classes </p> </subsection> + + <subsection name="How to pass in parameters?"> + <p> + Any parameters you specifiy in maven.webtest.sysproperties will result in an + interactive prompt if they are empty before the tests are run. You can use this + to pass in a username from externally. Just define maven.webtest.sysproperties=webtestUsername, + and then in your test scripts refer to ${webtestUsername}. + </p> + </subsection> </section> 1.9 +5 -0 maven-plugins/webtest/xdocs/changes.xml Index: changes.xml =================================================================== RCS file: /cvsroot/maven-plugins/maven-plugins/webtest/xdocs/changes.xml,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- changes.xml 19 Nov 2004 11:01:51 -0000 1.8 +++ changes.xml 19 Nov 2004 13:39:07 -0000 1.9 @@ -8,6 +8,11 @@ <releases> <release version="0.9.2" date=""> + <action dev="epugh" type="add"> + Add the ability to supply a list of extra systemproperties (maven.webtest.sysproperties) that + are passed into the Ant task. Any empty system properties will cause a prompt first to supply + the data. + </action> <action dev="epugh" type="fix"> Fix link to generated report when running maven site. </action> 1.5 +19 -0 maven-plugins/webtest/xdocs/properties.xml Index: properties.xml =================================================================== RCS file: /cvsroot/maven-plugins/maven-plugins/webtest/xdocs/properties.xml,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- properties.xml 28 Oct 2004 08:52:18 -0000 1.4 +++ properties.xml 19 Nov 2004 13:39:07 -0000 1.5 @@ -48,6 +48,25 @@ are struggling than you could use "-debug" </td> </tr> + <tr> + <td>maven.webtest.sysproperties</td> + <td>Yes</td> + <td></td> + <td> + Use this property elements to specify properties to be passed to + WebTest scripts. + You can specify system properties separate by space. + Each properties is describe in sub properties. + Sample : + <source><![CDATA[ +maven.webtest.sysproperties=webtestUsername webtestPassword +webtestUsername=testuser + ]]> + </source> + In this example, you will be prompted if you don't pass a webtestPassword + value in to supply one. + </td> + </tr> </table> </section> 1.11 +18 -0 maven-plugins/webtest/plugin.jelly Index: plugin.jelly =================================================================== RCS file: /cvsroot/maven-plugins/maven-plugins/webtest/plugin.jelly,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- plugin.jelly 19 Nov 2004 11:01:51 -0000 1.10 +++ plugin.jelly 19 Nov 2004 13:39:07 -0000 1.11 @@ -3,6 +3,8 @@ <project xmlns:j="jelly:core" xmlns:util="jelly:util" + xmlns:i="jelly:interaction" + xmlns:maven="jelly:maven" xmlns:doc="doc" xmlns:x="jelly:xml"> @@ -92,6 +94,18 @@ <goal name="webtest:test" description="Runs the Canoo webtest scripts"> + <!-- populate any missing system properties --> + <util:tokenize var="listOfProperties" delim=" ">${maven.webtest.sysproperties}</util:tokenize> + <j:forEach var="someProperty" items="${listOfProperties}"> + <j:set var="somePropertyValue" value="${context.getVariable(someProperty)}"/> + + <j:if test="${empty(somePropertyValue)}"> + <i:ask question="What is the ${someProperty} to be used? (-D${someProperty}={value} to skip check)" + answer="${someProperty}"/> + </j:if> + <maven:param-check value="${context.getVariable(someProperty)}" fail="true" message="'${someProperty}' must be specified"/> + </j:forEach> + <!-- Create the result path --> <mkdir dir="${maven.webtest.config.resultpath}"/> @@ -140,6 +154,10 @@ <sysproperty key="showhtmlparseroutput" value="${maven.webtest.config.showhtmlparseroutput}"/> <sysproperty key="autorefresh" value="${maven.webtest.config.autorefresh}"/> <sysproperty key="webtest.home" value="${maven.webtest.home}"/> + <util:tokenize var="listOfProperties" delim=" ">${maven.webtest.sysproperties}</util:tokenize> + <j:forEach var="someProperty" items="${listOfProperties}"> + <sysproperty key="${someProperty}" value="${context.getVariable(someProperty)}"/> + </j:forEach> <arg value="${maven.webtest.ant.options}"/> <arg value="-f"/> <arg value="${testScriptFile}"/> 1.17 +7 -1 maven-plugins/webtest/project.xml Index: project.xml =================================================================== RCS file: /cvsroot/maven-plugins/maven-plugins/webtest/project.xml,v retrieving revision 1.16 retrieving revision 1.17 diff -u -r1.16 -r1.17 --- project.xml 19 Nov 2004 11:01:40 -0000 1.16 +++ project.xml 19 Nov 2004 13:39:08 -0000 1.17 @@ -76,7 +76,12 @@ </developers> <dependencies> - + <dependency> + <groupId>commons-jelly</groupId> + <artifactId>commons-jelly-tags-interaction</artifactId> + <version>1.0</version> + </dependency> + <dependency> <groupId>ant</groupId> <artifactId>ant</artifactId> @@ -125,6 +130,7 @@ <url></url> </dependency> + <dependency> <groupId>jtidy</groupId> <artifactId>jtidy</artifactId> |
From: Eric P. <de...@us...> - 2004-11-19 13:38:49
|
dep4b 04/11/19 05:38:42 Added: webtest/sample .cvsignore Log: Ignore the sample's target directory. Revision Changes Path 1.1 maven-plugins/webtest/sample/.cvsignore Index: .cvsignore =================================================================== target |
From: <jo...@us...> - 2004-11-19 13:38:13
|
joehni 04/11/19 05:38:06 Modified: javaapp plugin.jelly project.xml Added: javaapp/src/plugin-test .cvsignore maven.xml project.xml javaapp/src/plugin-test/src/main/demo Manifest.java Log: Fix manifest. Added test case for uberjar.bundle suppoert. Added test case for working manifest entries in Java. Fix my developer id. Revision Changes Path 1.10 +11 -7 maven-plugins/javaapp/plugin.jelly Index: plugin.jelly =================================================================== RCS file: /cvsroot/maven-plugins/maven-plugins/javaapp/plugin.jelly,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- plugin.jelly 18 Nov 2004 15:33:47 -0000 1.9 +++ plugin.jelly 19 Nov 2004 13:38:05 -0000 1.10 @@ -191,18 +191,22 @@ <j:set var="specificationVersion" value="${maven.javaapp.manifest.specificationVersion}" /> <j:if test="${empty(specificationVersion)}"> - <j:set var="versionIdx" value="${pom.version.indexOf('.')}" /> - <j:set var="versionIdx" value="${pom.version.indexOf('.', versionIdx+1)}" /> - <j:set var="specificationVersion" value="${pom.version.substring(0,versionIdx)}" /> + <u:tokenize var="versionItems" delim="." trim="true">${pom.currentVersion}</u:tokenize> + <j:if test="${size(versionItems) > 0}"> + <j:set var="specificationVersion" value="${versionItems[0]}" /> + </j:if> + <j:if test="${size(versionItems) > 1}"> + <j:set var="specificationVersion" value="${specificationVersion}.${versionItems[1]}" /> + </j:if> </j:if> <u:replace var="packagePath" oldChar="." newChar="/" value="${pom.package}"/> <ant:section name="${packagePath}/"> - <ant:attribute name="Specification-Title" value="${maven.javaapp.manifest.specificationTile}"/> + <ant:attribute name="Specification-Title" value="${maven.javaapp.manifest.specificationTitle}"/> <ant:attribute name="Specification-Vendor" value="${maven.javaapp.manifest.specificationVendor}"/> <ant:attribute name="Specification-Version" value="${specificationVersion}"/> - <ant:attribute name="Package-Title" value="${pom.package}"/> - <ant:attribute name="Package-Vendor" value="${pom.organization.name}"/> - <ant:attribute name="Package-Version" value="${pom.currentVersion}"/> + <ant:attribute name="Implementation-Title" value="${pom.package}"/> + <ant:attribute name="Implementation-Vendor" value="${pom.organization.name}"/> + <ant:attribute name="Implementation-Version" value="${pom.currentVersion}"/> </ant:section> <j:if test="${context.getVariable('maven.jar.manifest.groups.list') != null}"> 1.13 +1 -1 maven-plugins/javaapp/project.xml Index: project.xml =================================================================== RCS file: /cvsroot/maven-plugins/maven-plugins/javaapp/project.xml,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- project.xml 17 Nov 2004 16:27:35 -0000 1.12 +++ project.xml 19 Nov 2004 13:38:05 -0000 1.13 @@ -43,7 +43,7 @@ </developer> <developer> <name>Jörg Schaible</name> - <id>wdsgoe</id> + <id>joehni</id> <email>joe...@gm...</email> <organization>Elsag-Solutions AG</organization> <roles> 1.1 maven-plugins/javaapp/src/plugin-test/.cvsignore Index: .cvsignore =================================================================== *.log 1.1 maven-plugins/javaapp/src/plugin-test/maven.xml Index: maven.xml =================================================================== <!-- /* * Copyright 2001-2004 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ --> <project xmlns:j="jelly:core" xmlns:u="jelly:util" xmlns:artifact="artifact" xmlns:assert="assert"> <goal name="testPlugin" prereqs="clean,test-javaapp"> <attainGoal name="clean"/> </goal> <goal name="test-javaapp" prereqs="javaapp:jar"> <!-- test license collection works --> <assert:assertFileExists file="${maven.build.dir}/javaapp/META-INF/commons-lang-2.0.jar-LICENSE.txt"/> <!-- check that an exclude with uberjar.bundle works --> <assert:assertFileNotFound file="${maven.build.dir}/commons-logging-1.0.3.jar"/> <assert:assertFileNotFound file="${maven.build.dir}/javaapp/META-INF/commons-logging-1.0.4.jar-LICENSE.txt"/> <java classname="demo.Manifest" fork="yes" failonerror="true"> <!-- sysproperty key="basedir" value="${basedir}"/ --> <classpath> <pathelement location="${maven.javaapp.final.name}"/> </classpath> </java> </goal> </project> 1.1 maven-plugins/javaapp/src/plugin-test/project.xml Index: project.xml =================================================================== <?xml version="1.0" encoding="ISO-8859-1"?> <!-- /* * Copyright 2001-2004 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ --> <project> <pomVersion>3</pomVersion> <name>Test project for the javaapp plugin</name> <groupId>test</groupId> <id>test-maven-javaapp-plugin</id> <currentVersion>1.0.1a</currentVersion> <organization> <name>SourceForge</name> <url>http://maven-plugins.sf.net</url> </organization> <inceptionYear>2004</inceptionYear> <package>demo</package> <shortDescription>Demo Package</shortDescription> <description>Demo Package Description</description> <url/> <issueTrackingUrl/> <siteAddress/> <siteDirectory/> <distributionDirectory/> <repository/> <versions/> <mailingLists/> <developers> <developer> <name>Jörg Schaible</name> <id>joehni</id> <email>joe...@gm...</email> <organization>Elsag-Solutions AG</organization> <roles> <role>Java Developer</role> </roles> <timezone>+1</timezone> </developer> </developers> <dependencies> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.0.4</version> <url>http://jakarta.apache.org/commons/logging.html</url> <properties> <uberjar.bundle>false</uberjar.bundle> </properties> </dependency> <dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> <version>2.0</version> <url>http://jakarta.apache.org/commons/lang.html</url> </dependency> </dependencies> <build> <sourceDirectory>${basedir}/src/main</sourceDirectory> </build> </project> 1.1 maven-plugins/javaapp/src/plugin-test/src/main/demo/Manifest.java Index: Manifest.java =================================================================== /* * Copyright 2001-2004 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package demo; /** * Manifest tester class. * Poor man's unit test. * @author Jörg Schaible */ public class Manifest { private static void ass(String text, boolean b) { if (!b) { System.err.println("ERROR: " + text); System.exit(-1); } } private static void ass(String text, String expect, String receive) { if (!expect.equals(receive)) { System.err.println( "ERROR: " + text + "'" + expect + "' is not " + receive); System.exit(-1); } } public static void main(String[] args) { String value; Package pkg = Manifest.class.getPackage(); ass("Package not null", pkg != null); value = pkg.getSpecificationTitle(); ass("Specification title", "test:test-maven-javaapp-plugin", value); value = pkg.getSpecificationVersion(); ass("Specification version", "1.0", value); value = pkg.getSpecificationVendor(); ass("Specification vendor", "SourceForge", value); value = pkg.getImplementationTitle(); ass("Implementation title", "demo", value); value = pkg.getImplementationVersion(); ass("Implementation version", "1.0.1a", value); value = pkg.getImplementationVendor(); ass("Implementation vendor", "SourceForge", value); } } |
From: <jo...@us...> - 2004-11-19 13:31:35
|
joehni 04/11/19 05:31:19 maven-plugins/javaapp/src/plugin-test/src/main - New directory |
From: <jo...@us...> - 2004-11-19 13:31:35
|
joehni 04/11/19 05:31:20 maven-plugins/javaapp/src/plugin-test/src/main/demo - New directory |
From: Eric P. <de...@us...> - 2004-11-19 11:02:10
|
dep4b 04/11/19 03:01:51 Modified: webtest plugin.jelly webtest/xdocs changes.xml Log: Fix link to report. Revision Changes Path 1.10 +2 -2 maven-plugins/webtest/plugin.jelly Index: plugin.jelly =================================================================== RCS file: /cvsroot/maven-plugins/maven-plugins/webtest/plugin.jelly,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- plugin.jelly 28 Oct 2004 08:51:03 -0000 1.9 +++ plugin.jelly 19 Nov 2004 11:01:51 -0000 1.10 @@ -14,7 +14,7 @@ <doc:registerReport name="Canoo WebTest Report" pluginName="webtest" description="Canoo WebTest Report." - link="webtest-report"/> + link="maven-webtest-report"/> </util:available> </goal> @@ -180,7 +180,7 @@ <fileset dir="${maven.webtest.home}/css" includes="*.*"/> </copy> - <!-- Invoke XALAN to to the transformation --> + <!-- Invoke XALAN to do the transformation --> <java classname="org.apache.xalan.xslt.Process" fork="yes" failonerror="true"> <classpath> <pathelement path="${plugin.getDependencyPath('xalan')}"/> 1.8 +5 -0 maven-plugins/webtest/xdocs/changes.xml Index: changes.xml =================================================================== RCS file: /cvsroot/maven-plugins/maven-plugins/webtest/xdocs/changes.xml,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- changes.xml 28 Oct 2004 08:52:18 -0000 1.7 +++ changes.xml 19 Nov 2004 11:01:51 -0000 1.8 @@ -7,6 +7,11 @@ <releases> + <release version="0.9.2" date=""> + <action dev="epugh" type="fix"> + Fix link to generated report when running maven site. + </action> + </release> <release version="0.9.1" date="2004-10-28"> <action dev="wdsgoe" type="update"> Updated to Canoo WebTest 543 |
From: Eric P. <de...@us...> - 2004-11-19 11:01:57
|
dep4b 04/11/19 03:01:41 Modified: webtest project.xml Log: Bump version. Add myself. Revision Changes Path 1.16 +9 -1 maven-plugins/webtest/project.xml Index: project.xml =================================================================== RCS file: /cvsroot/maven-plugins/maven-plugins/webtest/project.xml,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- project.xml 28 Oct 2004 08:54:43 -0000 1.15 +++ project.xml 19 Nov 2004 11:01:40 -0000 1.16 @@ -6,7 +6,7 @@ <id>maven-webtest-plugin</id> <name>Canoo WebTest Plug-in</name> <!-- groupId is in parent --> - <currentVersion>0.9.1</currentVersion> + <currentVersion>0.9.2-SNAPSHOT</currentVersion> <!-- organization is in parent --> <inceptionYear>2002</inceptionYear> <!-- package, logo are in parent. no gumpRepositoryId --> @@ -49,6 +49,14 @@ </roles> </developer> <developer> + <name>Eric Pugh</name> + <id>epugh</id> + <email>ep...@op...</email> + <roles> + <role>Software Developer</role> + </roles> + </developer> + <developer> <name>Vincent Massol</name> <id>vmassol</id> <email>vm...@pi...</email> |
From: <jo...@us...> - 2004-11-18 16:31:34
|
joehni 04/11/18 08:31:25 maven-plugins/javaapp/src/plugin-test - New directory |
From: <jo...@us...> - 2004-11-18 16:31:32
|
joehni 04/11/18 08:31:26 maven-plugins/javaapp/src/plugin-test/src/demo - New directory |
From: <jo...@us...> - 2004-11-18 16:31:32
|
joehni 04/11/18 08:31:26 maven-plugins/javaapp/src/plugin-test/src - New directory |
From: <jo...@us...> - 2004-11-18 15:33:57
|
joehni 04/11/18 07:33:49 Modified: javaapp LICENSE.txt maven.xml plugin.jelly plugin.properties project.properties javaapp/xdocs changes.xml properties.xml Log: Fix manifest entries. Cumulate licenses in META-INF. Upgrade license to ASF 2.0. Update docs. Revision Changes Path 1.2 +200 -55 maven-plugins/javaapp/LICENSE.txt Index: LICENSE.txt =================================================================== RCS file: /cvsroot/maven-plugins/maven-plugins/javaapp/LICENSE.txt,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- LICENSE.txt 11 Dec 2002 14:46:26 -0000 1.1 +++ LICENSE.txt 18 Nov 2004 15:33:47 -0000 1.2 @@ -1,57 +1,202 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ -/* ==================================================================== - * The Apache Software License, Version 1.1 - * - * Copyright (c) 2001 The Apache Software Foundation. All rights - * reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. The end-user documentation included with the redistribution, - * if any, must include the following acknowledgment: - * "This product includes software developed by the - * Apache Software Foundation (http://www.apache.org/)." - * Alternately, this acknowledgment may appear in the software itself, - * if and wherever such third-party acknowledgments normally appear. - * - * 4. The names "Apache" and "Apache Software Foundation" and - * "Apache Wiki Maven Plugin" must not be used to endorse or promote products - * derived from this software without prior written permission. For - * written permission, please contact ap...@ap.... - * - * 5. Products derived from this software may not be called "Apache", - * "Apache Interactive Maven Plugin", nor may "Apache" appear in their name, without - * prior written permission of the Apache Software Foundation. - * - * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF - * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT - * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * ==================================================================== - * - * This software consists of voluntary contributions made by many - * individuals on behalf of the Apache Software Foundation. For more - * information on the Apache Software Foundation, please see - * <http://www.apache.org/>. - * - * ==================================================================== - */ + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. 1.4 +1 -0 maven-plugins/javaapp/maven.xml Index: maven.xml =================================================================== RCS file: /cvsroot/maven-plugins/maven-plugins/javaapp/maven.xml,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- maven.xml 18 Nov 2004 09:28:32 -0000 1.3 +++ maven.xml 18 Nov 2004 15:33:47 -0000 1.4 @@ -1 +1,2 @@ <project default="plugin:install" /> +<!-- Use goals of plugin plugin now --> 1.9 +99 -47 maven-plugins/javaapp/plugin.jelly Index: plugin.jelly =================================================================== RCS file: /cvsroot/maven-plugins/maven-plugins/javaapp/plugin.jelly,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- plugin.jelly 18 Nov 2004 09:29:27 -0000 1.8 +++ plugin.jelly 18 Nov 2004 15:33:47 -0000 1.9 @@ -1,4 +1,21 @@ <?xml version="1.0"?> +<!-- +/* + * Copyright 2001-2004 The Apache Software Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + --> <project xmlns:j="jelly:core" xmlns:artifact="artifact" @@ -62,19 +79,19 @@ description="Prints diagnostic messages" prereqs="javaapp:support-uberjar-bundle"> - <echo>maven.build.dir = ${maven.build.dir}</echo> - <echo>maven.build.dest = ${maven.build.dest}</echo> - <echo>maven.javaapp.type = ${maven.javaapp.type}</echo> - <echo>maven.javaapp.app.dir = ${maven.javaapp.app.dir}</echo> - <echo>maven.javaapp.jar.name = ${maven.javaapp.jar.name}</echo> - <echo>maven.javaapp.jar.exclude = ${maven.javaapp.jar.exclude}</echo> - <echo>maven.javaapp.jar.keep.extention = ${maven.javaapp.jar.keep.extension}</echo> - <echo>maven.javaapp.mainclass = ${maven.javaapp.mainclass}</echo> - <echo>maven.javaapp.jvmargs = ${maven.javaapp.jvmargs}</echo> - <echo>maven.javaapp.sysproperties = ${maven.javaapp.sysproperties}</echo> - <echo>maven.javaapp.cmdline = ${maven.javaapp.cmdline}</echo> - <echo>maven.javaapp.final.name = ${maven.javaapp.final.name}</echo> - <echo>maven.javaapp.manifest.extensions.add = ${maven.javaapp.manifest.extensions.add}</echo> + <ant:echo>maven.build.dir = ${maven.build.dir}</ant:echo> + <ant:echo>maven.build.dest = ${maven.build.dest}</ant:echo> + <ant:echo>maven.javaapp.type = ${maven.javaapp.type}</ant:echo> + <ant:echo>maven.javaapp.app.dir = ${maven.javaapp.app.dir}</ant:echo> + <ant:echo>maven.javaapp.jar.name = ${maven.javaapp.jar.name}</ant:echo> + <ant:echo>maven.javaapp.jar.exclude = ${maven.javaapp.jar.exclude}</ant:echo> + <ant:echo>maven.javaapp.jar.keep.extention = ${maven.javaapp.jar.keep.extension}</ant:echo> + <ant:echo>maven.javaapp.mainclass = ${maven.javaapp.mainclass}</ant:echo> + <ant:echo>maven.javaapp.jvmargs = ${maven.javaapp.jvmargs}</ant:echo> + <ant:echo>maven.javaapp.sysproperties = ${maven.javaapp.sysproperties}</ant:echo> + <ant:echo>maven.javaapp.cmdline = ${maven.javaapp.cmdline}</ant:echo> + <ant:echo>maven.javaapp.final.name = ${maven.javaapp.final.name}</ant:echo> + <ant:echo>maven.javaapp.manifest.extensions.add = ${maven.javaapp.manifest.extensions.add}</ant:echo> </goal> @@ -86,6 +103,14 @@ description="Packs all dependent JARs into an executable JAR" prereqs="test:test,javaapp:copy-deps,javaapp:jar-resources"> + <!-- fail fast --> + + <j:choose> + <j:when test="${pom.currentVersion == null}"> + <ant:fail>You must define currentVersion in your POM.</ant:fail> + </j:when> + </j:choose> + <!-- unzip all JARS --> <ant:fileScanner var="jarFileList"> @@ -98,6 +123,11 @@ <j:forEach var="jarFile" items="${jarFileList.iterator()}"> <ant:unzip src="${jarFile.toString()}" dest="${maven.javaapp.app.dir}"/> + <u:available file="${maven.javaapp.app.dir}/META-INF/LICENSE.txt"> + <ant:move + file="${maven.javaapp.app.dir}/META-INF/LICENSE.txt" + toFile="${maven.javaapp.app.dir}/META-INF/${jarFile.getName()}-LICENSE.txt" /> + </u:available> </j:forEach> <!-- delete artifacts of signed JARS in the META-INF directory --> @@ -114,14 +144,14 @@ <!-- delete other artifacts in our way --> <ant:delete> - <ant:fileset dir="${maven.javaapp.app.dir}/META-INF" includes="LICENSE.txt"/> + <!-- ant:fileset dir="${maven.javaapp.app.dir}/META-INF" includes="LICENSE.txt"/ --> <ant:fileset dir="${maven.javaapp.app.dir}/META-INF" includes="INDEX.LIST"/> <ant:fileset dir="${maven.javaapp.app.dir}/META-INF" includes="MANIFEST.MF"/> </ant:delete> <!-- Copy class files from java:compile into working directory --> - <echo>Copying class files to ${maven.javaapp.app.dir}/classes</echo> + <ant:echo>Copying class files to ${maven.javaapp.app.dir}/classes</ant:echo> <ant:copy todir="${maven.javaapp.app.dir}"> <ant:fileset dir="${maven.build.dest}"/> @@ -132,43 +162,65 @@ <ant:delete dir="${maven.javaapp.app.dir}/lib"/> <!-- Build the JAR file --> - + <ant:jar jarfile="${maven.javaapp.final.name}" basedir="${maven.javaapp.app.dir}" - index="true" + index="${maven.javaapp.jar.index}" + compress="${maven.javaapp.jar.compress}" excludes="${maven.javaapp.jar.exclude}"> <ant:manifest> <ant:attribute name="Built-By" value="${user.name}"/> - <ant:attribute name="Created-By" value="Apache Jakarta Maven"/> - <ant:attribute name="Package" value="${pom.package}"/> - <ant:attribute name="Build-Jdk" value="${java.version}"/> - <!-- added supplementary entries --> - <ant:attribute name="Extension-Name" value="${pom.artifactId}"/> - <ant:attribute name="Specification-Version" value="${pom.specificationVersion}"/> - <ant:attribute name="Specification-Vendor" value="${pom.organization.name}"/> - <ant:attribute name="Specification-Title" value="${pom.shortDescription}"/> - <ant:attribute name="Implementation-Version" value="${pom.currentVersion}"/> - <ant:attribute name="Implementation-Vendor" value="${pom.organization.name}"/> - <ant:attribute name="Implementation-Vendor-Id" value="${pom.organization.identifier}"/> - <ant:attribute name="Main-Class" value="${maven.javaapp.mainclass}"/> - - <j:if test="${maven.javaapp.manifest.extensions.add} == 'true'"> - <j:set var="extensionList" value=""/> - <j:forEach var="artifact" items="${pom.artifacts}"> - <j:set var="dep" value="${artifact.dependency}"/> - <j:set var="extensionList" value="${extensionList} ${dep.artifactId}"/> + + <!-- getStatic tag does not work in Maven 1.0 & 1.0.1 --> + <j:getStatic var="mavenVersion" className="org.apache.maven.MavenSession" field="APP_VERSION"/> + <j:if test="${mavenVersion == null}"> + <j:set var="mavenVersion" value="1.0"/> + </j:if> + <ant:attribute name="Maven-Version" value="${mavenVersion}"/> + <j:if test="${context.getVariable('maven.jar.manifest.attributes.list') != null}"> + <u:tokenize var="attributeList" delim="," trim="true">${maven.jar.manifest.attributes.list}</u:tokenize> + <j:forEach var="attribute" items="${attributeList}"> + <j:set var="name" value="maven.jar.manifest.attribute.${attribute}"/> + <j:set var="value" value="${context.findVariable(name)}"/> + <ant:attribute name="${attribute}" value="${value}"/> + </j:forEach> + </j:if> + <!-- do not need class path --> + <!-- do not need extension list --> + + <j:set var="specificationVersion" value="${maven.javaapp.manifest.specificationVersion}" /> + <j:if test="${empty(specificationVersion)}"> + <j:set var="versionIdx" value="${pom.version.indexOf('.')}" /> + <j:set var="versionIdx" value="${pom.version.indexOf('.', versionIdx+1)}" /> + <j:set var="specificationVersion" value="${pom.version.substring(0,versionIdx)}" /> + </j:if> + <u:replace var="packagePath" oldChar="." newChar="/" value="${pom.package}"/> + <ant:section name="${packagePath}/"> + <ant:attribute name="Specification-Title" value="${maven.javaapp.manifest.specificationTile}"/> + <ant:attribute name="Specification-Vendor" value="${maven.javaapp.manifest.specificationVendor}"/> + <ant:attribute name="Specification-Version" value="${specificationVersion}"/> + <ant:attribute name="Package-Title" value="${pom.package}"/> + <ant:attribute name="Package-Vendor" value="${pom.organization.name}"/> + <ant:attribute name="Package-Version" value="${pom.currentVersion}"/> + </ant:section> + + <j:if test="${context.getVariable('maven.jar.manifest.groups.list') != null}"> + <u:tokenize var="groupList" delim="," trim="true">${maven.jar.manifest.groups.list}</u:tokenize> + <j:forEach var="group" items="${groupList}"> + <j:set var="nameVar" value="maven.jar.manifest.${group}.name"/> + <j:set var="groupName" value="${context.findVariable(nameVar)}"/> + <j:set var="attributeListVar" value="maven.jar.manifest.${group}.attributes.list"/> + <j:set var="groupAttributes" value="${context.findVariable(attributeListVar)}"/> + <u:tokenize var="attributeList" delim="," trim="true">${groupAttributes}</u:tokenize> + <ant:section name="${groupName}"> + <j:forEach var="attribute" items="${attributeList}"> + <j:set var="name" value="maven.jar.manifest.${group}.attribute.${attribute}"/> + <j:set var="value" value="${context.findVariable(name)}"/> + <ant:attribute name="${attribute}" value="${value}"/> + </j:forEach> + </ant:section> </j:forEach> - <j:if test="${extensionList.length() != 0}"> - <j:set var="extensionList" value="${extensionList.substring(1)}"/> - <ant:attribute name="Extension-List" value="${extensionList}"/> - </j:if> - <j:forEach var="artifact" items="${pom.artifacts}"> - <j:set var="dep" value="${artifact.dependency}"/> - <ant:attribute name="${dep.artifactId}-Extension-Name" value="${dep.artifactId}"/> - <ant:attribute name="${dep.artifactId}-Implementation-Version" value="${dep.version}"/> - <ant:attribute name="${dep.artifactId}-Implementation-URL" value="http://www.ibiblio.org/maven${artifact.urlPath}"/> - </j:forEach> </j:if> </ant:manifest> </ant:jar> @@ -183,7 +235,7 @@ description="Copy all dependent JARs" prereqs="javaapp:prepare-filesystem,javaapp:support-uberjar-bundle"> - <echo>Copy dependent JARs into ${maven.javaapp.app.dir}/lib</echo> + <ant:echo>Copy dependent JARs into ${maven.javaapp.app.dir}/lib</ant:echo> <u:tokenize var="excludes" delim=",">${maven.javaapp.jar.exclude}</u:tokenize> <j:forEach var="lib" items="${pom.artifacts}"> @@ -202,7 +254,7 @@ <goal name="javaapp:run" description="Runs the executable JAR with the given command line"> - <echo>Running ${maven.javaapp.final.name} with "${maven.javaapp.cmdline}"</echo> + <ant:echo>Running ${maven.javaapp.final.name} with "${maven.javaapp.cmdline}"</ant:echo> <ant:java jar="${maven.javaapp.final.name}" fork="yes"> <u:tokenize var="listOfProperties" delim=" ">${maven.javaapp.sysproperties}</u:tokenize> <!-- Don't know how to split the thing to use <sysproperty> instead --> 1.6 +41 -7 maven-plugins/javaapp/plugin.properties Index: plugin.properties =================================================================== RCS file: /cvsroot/maven-plugins/maven-plugins/javaapp/plugin.properties,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- plugin.properties 16 Nov 2004 18:22:17 -0000 1.5 +++ plugin.properties 18 Nov 2004 15:33:47 -0000 1.6 @@ -3,12 +3,6 @@ # ------------------------------------------------------------------- # -# What does this do exactly?! -# - -maven.javaapp.manifest.extensions.add = false - -# # The type of artifact created by the plugin # @@ -40,15 +34,53 @@ # Comma seperated list of JARS to be excluded, e.g. "mail, servlet-api" # + maven.javaapp.jar.exclude = # +# Compress the jar. +# + +maven.javaapp.jar.compress = true + + +# +# Create an index file in the manifest. +# + +maven.javaapp.jar.index = ${maven.jar.index} + + +# # Flag to keep the type as extension in the repository. # maven.javaapp.jar.keep.extension = false + +# +# Set the title of the specification. +# + +maven.javaapp.manifest.specificationTitle = ${pom.id} + + +# +# Set the version of the specification. POM v3 does not define this yet. +# If empty it will use the major.minor of the artifact's version. +# + +maven.javaapp.manifest.specificationVersion = ${pom.specificationVersion} + + +# +# Set the vendor of the specification. +# + +maven.javaapp.manifest.specificationVendor = ${pom.organization.name} + + # # List of system properties to pass to the java application, # e.g. "-DFOO=XXX -DBAR=YYY" @@ -56,6 +88,7 @@ maven.javaapp.sysproperties = + # # List of JVM args # @@ -64,7 +97,7 @@ # -# Command line to be used to start the applciation +# Command line to be used to start the application # maven.javaapp.cmdline = @@ -75,3 +108,4 @@ # maven.javaapp.mainclass = + 1.4 +1 -1 maven-plugins/javaapp/project.properties Index: project.properties =================================================================== RCS file: /cvsroot/maven-plugins/maven-plugins/javaapp/project.properties,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- project.properties 22 Aug 2003 08:27:30 -0000 1.3 +++ project.properties 18 Nov 2004 15:33:47 -0000 1.4 @@ -3,7 +3,7 @@ # ------------------------------------------------------------------- #maven.jarResources.basedir = src -maven.license.licenseFile=${basedir}/../LICENSE.txt +maven.license.licenseFile=${basedir}/LICENSE.txt # WebSite definition maven.xdoc.version=${pom.currentVersion} 1.5 +12 -1 maven-plugins/javaapp/xdocs/changes.xml Index: changes.xml =================================================================== RCS file: /cvsroot/maven-plugins/maven-plugins/javaapp/xdocs/changes.xml,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- changes.xml 16 Nov 2004 18:22:17 -0000 1.4 +++ changes.xml 18 Nov 2004 15:33:48 -0000 1.5 @@ -14,6 +14,17 @@ <body> <release version="1.3-SNAPSHOT" date="in CVS"> + <action dev="joehni" type="update"> + Cumulate licenses in META-INF. + </action> + <action dev="joehni" type="fix"> + Fix manifest entries. + </action> + <action dev="joehni" type="remove"> + Removed property <code>maven.javaapp.manifest.extensions.add</code>, + since it added manifest entries, that were only used for applets + loading dependent jars (they are already included using javaapp). + </action> <action dev="joehni" type="add"> Added support for multiproject goals: <ul> @@ -33,7 +44,7 @@ Use artifact plugin for install and deploy. </action> <action dev="joehni" type="fix"> - Fix usage internal goal of deprecated deploy plugin. + Fix usage of deprecated deploy and resource plugins. </action> </release> 1.6 +92 -36 maven-plugins/javaapp/xdocs/properties.xml Index: properties.xml =================================================================== RCS file: /cvsroot/maven-plugins/maven-plugins/javaapp/xdocs/properties.xml,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- properties.xml 16 Nov 2004 18:22:17 -0000 1.5 +++ properties.xml 18 Nov 2004 15:33:48 -0000 1.6 @@ -9,23 +9,74 @@ <body> <section name="Property Settings"> + <p> + All Properties of the plugin in alphabetical order. + </p> <table> <tr><th>Property</th><th>Optional?</th><th>Description</th></tr> + + <tr> + <td>maven.javaapp.app.dir</td> + <td>Yes</td> + <td> + The build directory of the plugin. Defaults to + <code>${maven.build.dir}/javaapp</code> + </td> + </tr> <tr> - <td>maven.javaapp.manifest.extensions.add</td> + <td>maven.javaapp.cmdline</td> <td>Yes</td> <td> - No idea what it exactly does but taken from maven-jar-plugin + Command line paramters for starting the executable JAR + through the plugin using javaapp:run </td> </tr> <tr> - <td>maven.javaapp.type</td> + <td>maven.javaapp.final.name</td> <td>Yes</td> <td> - The type of artifact created by the plugin + The qualified file name of the created artifact + </td> + </tr> + + <tr> + <td>maven.javaapp.jar.compress</td> + <td>Yes</td> + <td> + Create a compressed JAR. Defaults to <code>true</code> + </td> + </tr> + + <tr> + <td>maven.javaapp.jar.exclude</td> + <td>Yes</td> + <td> + A comma seperated list of arifactIds to be excluded from the + result, e.g. "mail,servlet-api". The artifactIds must be therefore + referenced in the POM. The value is automatically set to a list + with the artifactId of all dependencies not of type jar and all + with a property <em>uberjar.bundle</em> set to <code>false</code>. + </td> + </tr> + + <tr> + <td>maven.javaapp.jar.index</td> + <td>Yes</td> + <td> + Create an index of the classes in the manifest. Defaults to + <code>${maven.jar.index}</code> + </td> + </tr> + + <tr> + <td>maven.javaapp.jar.name</td> + <td>Yes</td> + <td> + The name of the generated executable JAR. Defaults to + <code>${maven.final.name}-${maven.javaapp.type}.jar</code> </td> </tr> @@ -38,41 +89,44 @@ <code>false</code> </td> </tr> - + <tr> - <td>maven.javaapp.jar.name</td> - <td>Yes</td> + <td>maven.javaapp.mainclass</td> + <td>No</td> <td> - The name of the generated executable JAR. Defaults to - <code>${maven.final.name}-${maven.javaapp.type}.jar</code> + The name of the class to start the application. This + property is copied into MANIFEST.MF </td> </tr> <tr> - <td>maven.javaapp.final.name</td> + <td>maven.javaapp.manifest.specificationTitle</td> <td>Yes</td> <td> - The qualified file name of the created artifact + The <code>specificationTitle</code> in the manifest. Defaults to + <code>${pom.artifactId}:${pom.groupId}</code> </td> </tr> - + <tr> - <td>maven.javaapp.app.dir</td> + <td>maven.javaapp.manifest.specificationVendor</td> <td>Yes</td> <td> - The build directory of the plugin + The <code>specificationVendor</code> in the manifest. Defaults to + <code>${pom.organization.name}</code> </td> - </tr> - + </tr> + <tr> - <td>maven.javaapp.jar.exclude</td> + <td>maven.javaapp.manifest.specificationVersion</td> <td>Yes</td> <td> - A comma seperated list of arifactIds to be excluded from the - result, e.g. "mail,servlet-api". The artifactIds must be therefore - referenced in the POM. The value is automatically set to a list - with the artifactId of all dependencies not of type jar and all - with a property <em>uberjar.bundle</em> set to <code>false</code>. + The <code>specificationVersion</code> in the manifest. According + to <a href="http://java.sun.com/j2se/1.4.2/docs/guide/versioning/spec/versioning2.html"> + Sun's specification</a> this must be a number to compare. Defaults + to <code>${pom.specificationVersion}</code>. Since this value is + not part of POM v3, the plugin generates a version if the variable + is empty by using major.minor of the pom.version. </td> </tr> @@ -86,32 +140,34 @@ </tr> <tr> - <td>maven.javaapp.jvmargs</td> + <td>maven.javaapp.type</td> <td>Yes</td> <td> - List of JVM arguments passed to 'javaapp:run', + The type of artifact created by the plugin </td> </tr> <tr> - <td>maven.javaapp.cmdline</td> + <td>maven.javaapp.jvmargs</td> <td>Yes</td> <td> - Command line paramters for starting the executable JAR - through the plugin using javaapp:run - </td> - </tr> - - <tr> - <td>maven.javaapp.mainclass</td> - <td>No</td> - <td> - The name of the class to start the application. This - property is copied into MANIFEST.MF + List of JVM arguments passed to 'javaapp:run', </td> </tr> </table> + + <p> + Additionally to the described properties, the javaapp plugin also + supports following properties of the + <a href="http://maven.apache.org/reference/plugins/jar/properties.html"> + jar plugin</a>: + <ul> + <li>maven.jar.manifest.attributes.list</li> + <li>maven.jar.manifest.groups.list</li> + </ul> + </p> + </section> </body> </document> |
From: <jo...@us...> - 2004-11-18 09:29:33
|
joehni 04/11/18 01:29:27 Modified: javaapp plugin.jelly Log: Eliminated deprecated code. Revision Changes Path 1.8 +30 -30 maven-plugins/javaapp/plugin.jelly Index: plugin.jelly =================================================================== RCS file: /cvsroot/maven-plugins/maven-plugins/javaapp/plugin.jelly,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- plugin.jelly 16 Nov 2004 18:22:17 -0000 1.7 +++ plugin.jelly 18 Nov 2004 09:29:27 -0000 1.8 @@ -1,9 +1,9 @@ <?xml version="1.0"?> <project xmlns:j="jelly:core" - xmlns:resources="resources" xmlns:artifact="artifact" xmlns:u="jelly:util" + xmlns:maven="jelly:maven" xmlns:ant="jelly:ant"> <!-- ================================================================== --> @@ -29,7 +29,7 @@ <goal name="javaapp:prepare-filesystem" description="Create the needed directory structure"> - <mkdir dir="${maven.javaapp.app.dir}/lib"/> + <ant:mkdir dir="${maven.javaapp.app.dir}/lib"/> </goal> @@ -88,36 +88,36 @@ <!-- unzip all JARS --> - <fileScanner var="jarFileList"> - <fileset dir="${maven.javaapp.app.dir}/lib"> - <patternset> - <include name="*.jar"/> - </patternset> - </fileset> - </fileScanner> + <ant:fileScanner var="jarFileList"> + <ant:fileset dir="${maven.javaapp.app.dir}/lib"> + <ant:patternset> + <ant:include name="*.jar"/> + </ant:patternset> + </ant:fileset> + </ant:fileScanner> <j:forEach var="jarFile" items="${jarFileList.iterator()}"> - <unzip src="${jarFile.toString()}" dest="${maven.javaapp.app.dir}"/> + <ant:unzip src="${jarFile.toString()}" dest="${maven.javaapp.app.dir}"/> </j:forEach> <!-- delete artifacts of signed JARS in the META-INF directory --> - <delete> - <fileset dir="${maven.javaapp.app.dir}/META-INF" includes="*.DSA"/> - <fileset dir="${maven.javaapp.app.dir}/META-INF" includes="*.SF"/> - <fileset dir="${maven.javaapp.app.dir}/META-INF" includes="*.RSA"/> - <fileset dir="${maven.javaapp.app.dir}/META-INF" includes="*.dsa"/> - <fileset dir="${maven.javaapp.app.dir}/META-INF" includes="*.sf"/> - <fileset dir="${maven.javaapp.app.dir}/META-INF" includes="*.rsa"/> - </delete> + <ant:delete> + <ant:fileset dir="${maven.javaapp.app.dir}/META-INF" includes="*.DSA"/> + <ant:fileset dir="${maven.javaapp.app.dir}/META-INF" includes="*.SF"/> + <ant:fileset dir="${maven.javaapp.app.dir}/META-INF" includes="*.RSA"/> + <ant:fileset dir="${maven.javaapp.app.dir}/META-INF" includes="*.dsa"/> + <ant:fileset dir="${maven.javaapp.app.dir}/META-INF" includes="*.sf"/> + <ant:fileset dir="${maven.javaapp.app.dir}/META-INF" includes="*.rsa"/> + </ant:delete> <!-- delete other artifacts in our way --> - <delete> - <fileset dir="${maven.javaapp.app.dir}/META-INF" includes="LICENSE.txt"/> - <fileset dir="${maven.javaapp.app.dir}/META-INF" includes="INDEX.LIST"/> - <fileset dir="${maven.javaapp.app.dir}/META-INF" includes="MANIFEST.MF"/> - </delete> + <ant:delete> + <ant:fileset dir="${maven.javaapp.app.dir}/META-INF" includes="LICENSE.txt"/> + <ant:fileset dir="${maven.javaapp.app.dir}/META-INF" includes="INDEX.LIST"/> + <ant:fileset dir="${maven.javaapp.app.dir}/META-INF" includes="MANIFEST.MF"/> + </ant:delete> <!-- Copy class files from java:compile into working directory --> @@ -129,7 +129,7 @@ <!-- delete the copied JARS --> - <delete dir="${maven.javaapp.app.dir}/lib"/> + <ant:delete dir="${maven.javaapp.app.dir}/lib"/> <!-- Build the JAR file --> @@ -203,18 +203,18 @@ description="Runs the executable JAR with the given command line"> <echo>Running ${maven.javaapp.final.name} with "${maven.javaapp.cmdline}"</echo> - <java jar="${maven.javaapp.final.name}" fork="yes"> + <ant:java jar="${maven.javaapp.final.name}" fork="yes"> <u:tokenize var="listOfProperties" delim=" ">${maven.javaapp.sysproperties}</u:tokenize> <!-- Don't know how to split the thing to use <sysproperty> instead --> <u:tokenize var="listOfJvmArgs" delim=" ">${maven.javaapp.jvmargs}</u:tokenize> <j:forEach var="somejvmarg" items="${listOfJvmArgs}"> - <jvmarg value="${somejvmarg}"/> + <j:jvmarg value="${somejvmarg}"/> </j:forEach> <j:forEach var="someProperty" items="${listOfProperties}"> - <jvmarg value="${someProperty}"/> + <j:jvmarg value="${someProperty}"/> </j:forEach> - <arg line="${maven.javaapp.cmdline}"/> - </java> + <j:arg line="${maven.javaapp.cmdline}"/> + </ant:java> </goal> @@ -226,7 +226,7 @@ description="Copy any resources that must be present in the deployed JAR file"> <j:if test="${!pom.build.resources.isEmpty()}"> - <resources:copy + <maven:copyResources resources="${pom.build.resources}" todir="${maven.javaapp.app.dir}" /> |
From: <jo...@us...> - 2004-11-18 09:28:45
|
joehni 04/11/18 01:28:37 Modified: javaapp maven.xml Log: Replace maven.xml with goals from plugin plugin. Revision Changes Path 1.3 +1 -80 maven-plugins/javaapp/maven.xml Index: maven.xml =================================================================== RCS file: /cvsroot/maven-plugins/maven-plugins/javaapp/maven.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- maven.xml 16 Nov 2004 11:13:36 -0000 1.2 +++ maven.xml 18 Nov 2004 09:28:32 -0000 1.3 @@ -1,80 +1 @@ -<project default="plugin" - xmlns:j="jelly:core" - xmlns:m="maven"> - - <goal - name="plugin"> - - <j:if test="${sourcesPresent == 'true'}"> - <attainGoal name="java:compile"/> - <attainGoal name="test:test"/> - </j:if> - - <property name="assemblyDir" value="target/assemblyDir"/> - - <mkdir dir="${assemblyDir}"/> - - <copy todir="${assemblyDir}"> - <fileset dir="."> - <exclude name="target/**"/> - <exclude name="src/**"/> - <exclude name="maven.xml"/> - <exclude name="maven.log"/> - </fileset> - </copy> - - <j:if test="${sourcesPresent == 'true'}"> - <copy todir="${assemblyDir}"> - <fileset dir="target/classes"/> - </copy> - </j:if> - - <jar - jarfile="${maven.build.dir}/${maven.final.name}.jar"> - <fileset dir="${assemblyDir}"/> - </jar> - - <copy - file="${maven.build.dir}/${maven.final.name}.jar" - todir="${maven.repo.local}/${pom.groupId}/plugins" - /> - - </goal> - - <goal name="plugin:install" - prereqs="plugin" - description="Install the plugin in Maven's plugins dir"> - - <copy - file="${maven.build.dir}/${maven.final.name}.jar" - todir="${maven.home}/plugins" - /> - - </goal> - - <goal name="plugin:deploy" - prereqs="plugin" - description="Install an unpacked version of the plugin"> - - <mkdir dir="${maven.home}/plugins/${maven.final.name}"/> - <unzip - src="${maven.build.dir}/${maven.final.name}.jar" - dest="${maven.home}/plugins/${maven.final.name}" - /> - - </goal> - - <goal name="plugin:undeploy" - description="Delete the deployed version of the plugin"> - <delete dir="${maven.home}/plugins/${maven.final.name}"/> - </goal> - - <goal name="plugin:uninstall" - description="Delete all versions of the plugin"> - <attainGoal name="plugin:undeploy"/> - <delete> - <fileset dir="${maven.home}/plugins/" includes="${maven.final.name}.jar"/> - </delete> - </goal> - -</project> +<project default="plugin:install" /> |
From: <jo...@us...> - 2004-11-17 16:27:42
|
joehni 04/11/17 08:27:35 Modified: javaapp project.xml Log: Fix POM. Revision Changes Path 1.12 +3 -4 maven-plugins/javaapp/project.xml Index: project.xml =================================================================== RCS file: /cvsroot/maven-plugins/maven-plugins/javaapp/project.xml,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- project.xml 16 Nov 2004 18:22:17 -0000 1.11 +++ project.xml 17 Nov 2004 16:27:35 -0000 1.12 @@ -9,10 +9,9 @@ <currentVersion>1.3-SNAPSHOT</currentVersion> <!-- organization is in parent --> <inceptionYear>2002</inceptionYear> - <!-- package, logo are in parent. --> - - <!-- Gump integration --> - <gumpRepositoryId>jakarta</gumpRepositoryId> + <!-- remove package, if parent is fixed --> + <package>net.sourceforge.mavenplugins</package> + <!-- logo is in parent. --> <description>Plugin to generate an executable JAR</description> <shortDescription>Generates an executable JAR</shortDescription> |
From: <jo...@us...> - 2004-11-16 18:32:48
|
joehni 04/11/16 10:32:40 Added: javaapp/src/main/net/sourceforge/mavenplugins/javaapp JavaAppArtifactTypeHandler.java javaapp/src/test/net/sourceforge/mavenplugins/javaapp JavaAppArtifactTypeHandlerTest.java Log: Added missing Java sources. Revision Changes Path 1.1 maven-plugins/javaapp/src/main/net/sourceforge/mavenplugins/javaapp/JavaAppArtifactTypeHandler.java Index: JavaAppArtifactTypeHandler.java =================================================================== package net.sourceforge.mavenplugins.javaapp; /* ==================================================================== * Copyright 2001-2004 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * ==================================================================== */ import org.apache.maven.project.Project; import org.apache.maven.repository.DefaultArtifactTypeHandler; /** * Handler for the type extension. * * @author <a href="mailto:jo...@sf...">Jörg Schaible</a> * @since 1.3 */ public class JavaAppArtifactTypeHandler extends DefaultArtifactTypeHandler { final private boolean keepExtension; /** * Constructs a type handler, that does not keep the extension in * the repository. */ public JavaAppArtifactTypeHandler() { this(false); } /** * Constructs a type handler. * @param keepExtension Flag to keep the type as extension in the * repository. */ public JavaAppArtifactTypeHandler(final boolean keepExtension) { this.keepExtension = keepExtension; } /** * Map an artifact to a repository path. * * @param project the project for the artifact * @param type The type of the artifact * @param version The version of the artifact (may be a snapshot) * @return the path */ public String constructRepositoryFullPath(String type, Project project, String version) { StringBuffer path = new StringBuffer(constructRepositoryDirectoryPath(type, project)); path.append(project.getArtifactId()); path.append("-"); path.append(version); path.append("."); path.append(keepExtension ? type : "jar"); return path.toString(); } } 1.1 maven-plugins/javaapp/src/test/net/sourceforge/mavenplugins/javaapp/JavaAppArtifactTypeHandlerTest.java Index: JavaAppArtifactTypeHandlerTest.java =================================================================== package net.sourceforge.mavenplugins.javaapp; /* ==================================================================== * Copyright 2001-2004 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * ==================================================================== */ import org.apache.maven.MavenException; import org.apache.maven.project.Project; import org.apache.maven.repository.ArtifactTypeHandler; import junit.framework.TestCase; /** * @author <a href="mailto:jo...@sf...">Jörg Schaible</a> */ public class JavaAppArtifactTypeHandlerTest extends TestCase { private Project project; protected void setUp() throws Exception { super.setUp(); project = new Project(); project.setArtifactId("artifact-id"); project.setGroupId("group-id"); } public void testTypeHandlerWithDefaultExtension() throws MavenException { ArtifactTypeHandler typeHandler = new JavaAppArtifactTypeHandler(); String path = typeHandler.constructRepositoryFullPath("app", project, "version"); assertEquals("group-id/apps/artifact-id-version.jar", path); } public void testTypeHandlerKeepingTheExtension() throws MavenException { ArtifactTypeHandler typeHandler = new JavaAppArtifactTypeHandler(true); String path = typeHandler.constructRepositoryFullPath("app", project, "version"); assertEquals("group-id/apps/artifact-id-version.app", path); } } |
From: <jo...@us...> - 2004-11-16 18:22:25
|
joehni 04/11/16 10:22:18 Modified: javaapp plugin.jelly plugin.properties project.xml javaapp/xdocs changes.xml goals.xml properties.xml Log: Support multiproject goals, removed dependency for deploy in favour of artifact. Revision Changes Path 1.7 +86 -14 maven-plugins/javaapp/plugin.jelly Index: plugin.jelly =================================================================== RCS file: /cvsroot/maven-plugins/maven-plugins/javaapp/plugin.jelly,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- plugin.jelly 16 Nov 2004 12:20:16 -0000 1.6 +++ plugin.jelly 16 Nov 2004 18:22:17 -0000 1.7 @@ -1,8 +1,8 @@ <?xml version="1.0"?> <project xmlns:j="jelly:core" - xmlns:deploy="deploy" xmlns:resources="resources" + xmlns:artifact="artifact" xmlns:u="jelly:util" xmlns:ant="jelly:ant"> @@ -13,6 +13,14 @@ <goal name="javaapp" prereqs="javaapp:jar" description="Create the deliverable jar file."/> + + <!-- ================================================================== --> + <!-- javaapp:javaapp --> + <!-- ================================================================== --> + + <goal name="javaapp:javaapp" + prereqs="javaapp" + description="Run goal javaapp for multiproject"/> <!-- ================================================================== --> <!-- javaapp:prepare-filesystem --> @@ -60,6 +68,7 @@ <echo>maven.javaapp.app.dir = ${maven.javaapp.app.dir}</echo> <echo>maven.javaapp.jar.name = ${maven.javaapp.jar.name}</echo> <echo>maven.javaapp.jar.exclude = ${maven.javaapp.jar.exclude}</echo> + <echo>maven.javaapp.jar.keep.extention = ${maven.javaapp.jar.keep.extension}</echo> <echo>maven.javaapp.mainclass = ${maven.javaapp.mainclass}</echo> <echo>maven.javaapp.jvmargs = ${maven.javaapp.jvmargs}</echo> <echo>maven.javaapp.sysproperties = ${maven.javaapp.sysproperties}</echo> @@ -175,7 +184,14 @@ prereqs="javaapp:prepare-filesystem,javaapp:support-uberjar-bundle"> <echo>Copy dependent JARs into ${maven.javaapp.app.dir}/lib</echo> - <deploy:copy-deps todir="${maven.javaapp.app.dir}/lib" excludes="${maven.javaapp.jar.exclude}"/> + + <u:tokenize var="excludes" delim=",">${maven.javaapp.jar.exclude}</u:tokenize> + <j:forEach var="lib" items="${pom.artifacts}"> + <j:set var="dep" value="${lib.dependency}"/> + <j:if test="${!excludes.contains(dep.artifactId)}"> + <ant:copy todir="${maven.javaapp.app.dir}/lib" file="${lib.path}"/> + </j:if> + </j:forEach> </goal> @@ -221,18 +237,74 @@ <!-- ================================================================== --> <!-- javaapp:install --> <!-- ================================================================== --> - - <goal name="javaapp:install" - prereqs="javaapp:jar" - description="Install the application jar in the local repository"> - - <property name="javaappdir__" value="${maven.repo.local}/${pom.artifactDirectory}/apps"/> - <mkdir dir="${javaappdir__}"/> - <copy - file="${maven.build.dir}/${maven.javaapp.jar.name}" - todir="${javaappdir__}" - /> + + <goal name="javaapp:install" + prereqs="javaapp:jar" + description="Install the application in the local repository"> + + <j:new var="typeHandler" className="net.sourceforge.mavenplugins.javaapp.JavaAppArtifactTypeHandler"> + <j:arg type="boolean" value="${maven.javaapp.jar.keep.extension}"/> + </j:new> + <artifact:install + artifact="${maven.javaapp.final.name}" + type="${maven.javaapp.type}" + project="${pom}" + typeHandler="${typeHandler}"/> - </goal> + </goal> + <!--=====================================================================--> + <!-- javaapp:install-snapshot --> + <!--=====================================================================--> + <goal name="javaapp:install-snapshot" + prereqs="javaapp:jar" + description="Install the snapshot version of the application in the local repository"> + + <j:new var="typeHandler" className="net.sourceforge.mavenplugins.javaapp.JavaAppArtifactTypeHandler"> + <j:arg type="boolean" value="${maven.javaapp.jar.keep.extension}"/> + </j:new> + <artifact:install-snapshot + artifact="${maven.javaapp.final.name}" + type="${maven.javaapp.type}" + project="${pom}" + typeHandler="${typeHandler}"/> + + </goal> + + <!--==================================================================--> + <!-- javaapp:deploy --> + <!--==================================================================--> + <goal name="javaapp:deploy" + prereqs="javaapp:jar" + description="Deploys the javaapp to the remote repository"> + + <j:new var="typeHandler" className="net.sourceforge.mavenplugins.javaapp.JavaAppArtifactTypeHandler"> + <j:arg type="boolean" value="${maven.javaapp.jar.keep.extension}"/> + </j:new> + <artifact:deploy + artifact="${maven.javaapp.final.name}" + type="${maven.javaapp.type}" + project="${pom}" + typeHandler="${typeHandler}"/> + + </goal> + + <!--==================================================================--> + <!-- javaapp:deploy-snapshot --> + <!--==================================================================--> + <goal name="javaapp:deploy-snapshot" + prereqs="javaapp:jar" + description="Deploys the snapshot version of the javaapp to remote repository"> + + <j:new var="typeHandler" className="net.sourceforge.mavenplugins.javaapp.JavaAppArtifactTypeHandler"> + <j:arg type="boolean" value="${maven.javaapp.jar.keep.extension}"/> + </j:new> + <artifact:deploy-snapshot + artifact="${maven.javaapp.final.name}" + type="${maven.javaapp.type}" + project="${pom}" + typeHandler="${typeHandler}"/> + + </goal> + </project> 1.5 +9 -2 maven-plugins/javaapp/plugin.properties Index: plugin.properties =================================================================== RCS file: /cvsroot/maven-plugins/maven-plugins/javaapp/plugin.properties,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- plugin.properties 21 Oct 2003 16:20:58 -0000 1.4 +++ plugin.properties 16 Nov 2004 18:22:17 -0000 1.5 @@ -19,7 +19,7 @@ # The name of the created artifact # -maven.javaapp.jar.name = ${pom.artifactId}-${maven.javaapp.type}-${pom.currentVersion}.jar +maven.javaapp.jar.name = ${maven.final.name}-${maven.javaapp.type}.jar # @@ -33,7 +33,7 @@ # The build directory of the plugin # -maven.javaapp.app.dir = ${maven.build.dir}/${pom.artifactId} +maven.javaapp.app.dir = ${maven.build.dir}/javaapp # @@ -42,6 +42,13 @@ maven.javaapp.jar.exclude = + +# +# Flag to keep the type as extension in the repository. +# + +maven.javaapp.jar.keep.extension = false + # # List of system properties to pass to the java application, # e.g. "-DFOO=XXX -DBAR=YYY" 1.11 +17 -26 maven-plugins/javaapp/project.xml Index: project.xml =================================================================== RCS file: /cvsroot/maven-plugins/maven-plugins/javaapp/project.xml,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- project.xml 16 Nov 2004 12:20:16 -0000 1.10 +++ project.xml 16 Nov 2004 18:22:17 -0000 1.11 @@ -55,33 +55,24 @@ </developers> <dependencies> + <dependency> + <groupId>maven</groupId> + <artifactId>maven</artifactId> + <version>1.0.1</version> + </dependency> + <dependency> + <groupId>commons-lang</groupId> + <artifactId>commons-lang</artifactId> + <version>2.0</version> + </dependency> + <!-- test --> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>3.8.1</version> + </dependency> </dependencies> - <build> + <!-- inherit build from parent --> - <nagEmailAddress>tur...@ja...</nagEmailAddress> - - <sourceDirectory>src/java</sourceDirectory> - - <unitTestSourceDirectory>src/test</unitTestSourceDirectory> - <integrationUnitTestSourceDirectory/> - - <aspectSourceDirectory></aspectSourceDirectory> - - <!-- Unit test classes --> - <unitTest> - <includes> - <include>**/*Test.java</include> - </includes> - </unitTest> - - <!-- J A R R E S O U R C E S --> - <!-- Resources that are packaged up inside the JAR file --> - - <resources> - </resources> - - <jars> - </jars> - </build> </project> 1.4 +18 -0 maven-plugins/javaapp/xdocs/changes.xml Index: changes.xml =================================================================== RCS file: /cvsroot/maven-plugins/maven-plugins/javaapp/xdocs/changes.xml,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- changes.xml 16 Nov 2004 12:20:17 -0000 1.3 +++ changes.xml 16 Nov 2004 18:22:17 -0000 1.4 @@ -15,8 +15,26 @@ <release version="1.3-SNAPSHOT" date="in CVS"> <action dev="joehni" type="add"> + Added support for multiproject goals: + <ul> + <li>javaapp:javaapp</li> + <li>javaapp:install-snapshot</li> + <li>javaapp:deploy</li> + <li>javaapp:deploy-snapshot</li> + </ul> + </action> + <action dev="joehni" type="add"> + Added flexible extension support. + </action> + <action dev="joehni" type="add"> Added support for uberjar.bundle property. </action> + <action dev="joehni" type="update"> + Use artifact plugin for install and deploy. + </action> + <action dev="joehni" type="fix"> + Fix usage internal goal of deprecated deploy plugin. + </action> </release> <release version="1.2" date="2003-10-22"> 1.2 +22 -0 maven-plugins/javaapp/xdocs/goals.xml Index: goals.xml =================================================================== RCS file: /cvsroot/maven-plugins/maven-plugins/javaapp/xdocs/goals.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- goals.xml 20 Oct 2003 14:25:19 -0000 1.1 +++ goals.xml 16 Nov 2004 18:22:17 -0000 1.2 @@ -21,10 +21,32 @@ <td>Prints diagnotic messages</td> </tr> <tr> + <td>javaapp:deploy</td> + <td>Deploy the application jar in the remote repository(ies)</td> + </tr> + <tr> + <td>javaapp:deploy-snapshot</td> + <td> + Deploy a snapshot version of the application jar in the remote + repository(ies) + </td> + </tr> + <tr> <td>javaapp:install</td> <td>Install the application jar in the local repository</td> </tr> <tr> + <td>javaapp:install-snapshot</td> + <td> + Install a snapshot version of the application jar in the local + repository + </td> + </tr> + <tr> + <td>javaapp:javaapp</td> + <td>Run goal javaapp for multiproject</td> + </tr> + <tr> <td>javaapp:jar</td> <td>Packs all dependent JARs into an executable JAR</td> </tr> 1.5 +13 -1 maven-plugins/javaapp/xdocs/properties.xml Index: properties.xml =================================================================== RCS file: /cvsroot/maven-plugins/maven-plugins/javaapp/xdocs/properties.xml,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- properties.xml 16 Nov 2004 12:20:17 -0000 1.4 +++ properties.xml 16 Nov 2004 18:22:17 -0000 1.5 @@ -4,6 +4,7 @@ <properties> <title>Properties</title> <author email="sie...@it...">Siegfried Goeschl</author> + <author email="joe...@gm...">Jörg Schaible</author> </properties> <body> @@ -29,10 +30,21 @@ </tr> <tr> + <td>maven.javaapp.keep.extension</td> + <td>Yes</td> + <td> + Keep the <code>maven.javaapp.type</code> as extension of the + resulting application or use simply .jar. Defaults to + <code>false</code> + </td> + </tr> + + <tr> <td>maven.javaapp.jar.name</td> <td>Yes</td> <td> - The name of the generated executable JAR + The name of the generated executable JAR. Defaults to + <code>${maven.final.name}-${maven.javaapp.type}.jar</code> </td> </tr> |
From: <jo...@us...> - 2004-11-16 15:44:47
|
joehni 04/11/16 07:44:30 maven-plugins/javaapp/src/test/net/sourceforge/mavenplugins/javaapp - New directory |
From: <jo...@us...> - 2004-11-16 15:44:47
|
joehni 04/11/16 07:44:29 maven-plugins/javaapp/src/test/net/sourceforge - New directory |
From: <jo...@us...> - 2004-11-16 15:44:47
|
joehni 04/11/16 07:44:29 maven-plugins/javaapp/src/test/net - New directory |