anchor.diff:  The files for this Demonstration are in the *demo/buildnsf* folder of the Build4XPages distribution files. The sample On-Disk Project is located within the tutorial folder as *sampleodp*. 
   The Application has a Custom Control and an XPage which uses that custom control.
   
  -=== build.xml
  +[TIP]
  +====
  +If you are not familiar with Ant be sure to have a look at the 'Introduction to Apache Ant' tutorial for understanding of things like build.xml, targets, tasks etc.
  +====
   
  -Our 'recipe' for the build is contained in the *build.xml* file located in the *demo/buildnsf* directory. *build.xml* is the default name for an Ant build file, you can call it another filename but if so you would need to specify extra command line argument `-b myfile.xml`
  -
  -Within the build.xml file are things called _targets_. A target is a bit like a code block.
  -Targets can be configured to depend on another target, so that means executing a _target_ will cause the other targets that it depends on to be executed first.
  -
  -Within this build.xml file are 2 _targets_ that are used to setup the demo *clean* and *init*
  +Within the build.xml file for this demo are 2 _targets_ that are used to setup the demo *clean* and *init*
   
   *clean* is used to clean up any previous attempt at this tutorial, and *init* is used to initialise a new attempt.
   
  
positive.code: include::../demo/buildnsf/build.xml[tag=buildfail]
  ----
  
  Since it is not the default target, we will tell ant that that is the target we want to build by including the target name in the command line arguments.
  
  1. issue the command `ant buildfail'
  
  You should then see an output like so:
  
  
negative.code: If you were to look in Designer you would see the problem there too.
  
  image::NSFDemoError.JPG[]
  
  === Conclusion
  
  In this demonstration tutorial we have shown how the *buildnsf* task from the BuildXPages Ant Library works together with the headless designer plugin. 
  We have demonstrated how to successfully build an NSF and also what it looks like when an NSF does not successfully build.