diff options
author | Ashlee Young <ashlee@onosfw.com> | 2015-10-23 10:00:02 -0700 |
---|---|---|
committer | Ashlee Young <ashlee@onosfw.com> | 2015-10-23 10:00:02 -0700 |
commit | 753a6c60f47f3ac4f270005b65e9d6481de8eb68 (patch) | |
tree | 3d0a1ae3b4d994550f6614b417b991eee3eb8911 /framework/src/ant/apache-ant-1.9.6/manual/Types/assertions.html | |
parent | c62d20eb3b4620c06d833be06f50b2600d96dd42 (diff) |
Adding maven and ant source trees
Change-Id: I0a39b9add833a31b9c3f98d193983ae2f3a5a445
Signed-off-by: Ashlee Young <ashlee@onosfw.com>
Diffstat (limited to 'framework/src/ant/apache-ant-1.9.6/manual/Types/assertions.html')
-rw-r--r-- | framework/src/ant/apache-ant-1.9.6/manual/Types/assertions.html | 208 |
1 files changed, 208 insertions, 0 deletions
diff --git a/framework/src/ant/apache-ant-1.9.6/manual/Types/assertions.html b/framework/src/ant/apache-ant-1.9.6/manual/Types/assertions.html new file mode 100644 index 00000000..e168969f --- /dev/null +++ b/framework/src/ant/apache-ant-1.9.6/manual/Types/assertions.html @@ -0,0 +1,208 @@ +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You 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. +--> +<html> + +<head> +<meta http-equiv="Content-Language" content="en-us"> +<link rel="stylesheet" type="text/css" href="../stylesheets/style.css"> +<title>Assertions type</title> +</head> + +<body> + +<h2><a name="assertions">Assertions</a></h2> +<p> +The <tt>assertions</tt> type enables or disables the Java 1.4 assertions feature, +on a whole Java program, or components of a program. It can be used +in <a href="../Tasks/java.html"><code><java></code></a> and +<a href="../Tasks/junit.html"><code><junit></code></a> to add extra validation to code. + +<p> +Assertions are covered in the +<a href="http://docs.oracle.com/javase/7/docs/technotes/guides/language/assert.html">Java SE documentation</a>, +and the +<a href="http://docs.oracle.com/javase/specs/jls/se7/html/jls-14.html#jls-14.10">Java Language Specification</a>. + +<p> +The key points to note are that a <tt>java.lang.AssertionError</tt> +is thrown when an assertion fails, and that the facility is only available +on Java 1.4 and later. To enable assertions one must set <tt>source="1.4"</tt> +(or later) in <tt><javac></tt> when the source is being compiled, and +that the code must contain <tt>assert</tt> statements to be tested. The +result of such an action is code that neither compiles or runs on earlier +versions of Java. For this reason Apache Ant itself currently contains no assertions. +<p> + +When assertions are enabled (or disabled) in a task through nested +assertions elements, the class loader or command line is modified with the +appropriate options. This means that the JVM executed must be a Java 1.4 +or later JVM, even if there are no assertions in the code. Attempting to +enable assertions on earlier VMs will result in an "Unrecognized option" +error and the JVM will not start. + +<p> +<h4>Attributes</h4> +<p> + + +</p> +<table border="1" cellpadding="2" cellspacing="0"> + <tr> + <td valign="top"><b>Attribute</b></td> + <td valign="top"><b>Description</b></td> + <td align="center" valign="top"><b>Required</b></td> + </tr> + <tr> + <td valign="top">enableSystemAssertions</td> + <td valign="top">Flag to turn system assertions on or off.</td> + <td valign="top" align="center">No; default is "unspecified"</td> + </tr> +</table> +<p> +When system assertions have been neither enabled nor disabled, then +the JVM is not given any assertion information - the default action of the + current JVMs is to disable system assertions. +<p> +Note also that there is no apparent documentation for what parts of the +JRE come with useful assertions. + +<h3>Nested elements</h3> + +<h4>enable</h4> +<p> +Enable assertions in portions of code. +If neither a package nor class is specified, assertions are turned on in <i>all</i> (user) code. +</p> +<table border="1" cellpadding="2" cellspacing="0"> + <tr> + <td valign="top"><b>Attribute</b></td> + <td valign="top"><b>Description</b></td> + <td align="center" valign="top"><b>Required</b></td> + </tr> + <tr> + <td valign="top">class</td> + <td valign="top">The name of a class on which to enable assertions.</td> + <td valign="top" align="center">No</td> + </tr> + <tr> + <td valign="top">package</td> + <td valign="top"> + The name of a package in which to enable assertions on all classes. (Includes subpackages.) + Use "<tt>...</tt>" for the anonymous package. + </td> + <td valign="top" align="center">No</td> + </tr> +</table> + +<h4>disable</h4> +<p> +Disable assertions in portions of code. + +</p> +<table border="1" cellpadding="2" cellspacing="0"> + <tr> + <td valign="top"><b>Attribute</b></td> + <td valign="top"><b>Description</b></td> + <td align="center" valign="top"><b>Required</b></td> + </tr> + <tr> + <td valign="top">class</td> + <td valign="top">The name of a class on which to disable assertions.</td> + <td valign="top" align="center">No</td> + </tr> + <tr> + <td valign="top">package</td> + <td valign="top"> + The name of a package in which to disable assertions on all classes. (Includes subpackages.) + Use "<tt>...</tt>" for the anonymous package. + </td> + <td valign="top" align="center">No</td> + </tr> +</table> +<p> + +Because assertions are disabled by default, it only makes sense to disable +assertions where they have been enabled in a parent package. + + +<h4>Examples</h4> + +<h5>Example: enable assertions in all user classes</h5> + +All classes not in the JRE (i.e. all non-system classes) will have assertions turned on. +<pre> +<assertions> + <enable/> +</assertions> +</pre> + +<h5>Example: enable a single class</h5> + +Enable assertions in a class called Test +<pre> +<assertions> + <enable class="Test"/> +</assertions> +</pre> + +<h5>Example: enable a package</h5> + +Enable assertions in the <tt>org.apache</tt> package +and all packages starting with the <tt>org.apache.</tt> prefix +<pre> +<assertions> + <enable package="org.apache"/> +</assertions> +</pre> + +<h5>Example: System assertions</h5> + +Example: enable system assertions and assertions in all <tt>org.apache</tt> packages except +for Ant (but including <tt>org.apache.tools.ant.Main</tt>) +<pre> +<assertions enableSystemAssertions="true"> + <enable package="org.apache"/> + <disable package="org.apache.tools.ant"/> + <enable class="org.apache.tools.ant.Main"/> +</assertions> +</pre> + +<h5>Example: disabled and anonymous package assertions</h5> + +Disable system assertions; enable those in the anonymous package +<pre> +<assertions enableSystemAssertions="false"> + <enable package="..."/> +</assertions> +</pre> + + +<h5>Example: referenced assertions</h5> + +This type is a datatype, so you can declare assertions and use them later + +<pre> +<assertions id="project.assertions"> + <enable package="org.apache.test"/> +</assertions> + +<assertions refid="project.assertions"/> +</pre> + + +</body> +</html> |