NAnt Build Tool CSE784 : ProjectCentralNet Prof : Dr. Jim Fawcett

Slides:



Advertisements
Similar presentations
ANT Another Neat Tool. What is ANT? What is Apache Ant? Ant is a Java-based build tool. In theory, it is kind of like Make, without Make's wrinkles and.
Advertisements

Introduction to Maven 2.0 An open source build tool for Enterprise Java projects Mahen Goonewardene.
Software Development Tools COMP220/COMP285 Seb Coope Ant and XML: Getting Started These slides are mainly based on “Java Development with Ant” - E. Hatcher.
ANT: Another Nice Tool Ali Beyad October 1, 2003.
ANT – Another Neat Tool Representation and Management of Data on the Internet.
ANT: Another Nice Tool Ali Beyad October 1, 2003.
MC365 Ant. Today We Will Cover: Overview of Ant Installing Ant Using the Ant command line tool Various Ant commands available Using Ant in Eclipse.
Copyright © 2008 Pearson Addison-Wesley. All rights reserved. Chapter 12 Separate Compilation Namespaces Simple Make Files (Ignore all class references.
1 Ant – Another Neat Tool Representation and Management of Data on the Internet.
© S Ramakrishnan1 Systems V & V, Quality and Standards Dr Sita Ramakrishnan School CSSE Monash University.
CSC 395 – Software Engineering Lecture 24: Apache Ant –or– Programming the results of programming Based upon a talk by Anthony Wat.
Introduction to Ant David Rabinowitz. March 3rd, 2004 Object Oriented Design Course 2 Ant Yet another build tool? Why do we need one where there are make,
About apache ant. Hello world with ant HelloWorldWithAnt.htmlhttp://ant.apache.org/manual/tutorial- HelloWorldWithAnt.html.
Introduction to Ant- a framework example Amit Shabtay.
Automating the Build Process using ANT SE-2030 Dr. Mark L. Hornick 1.
2007 Adobe Systems Incorporated. All Rights Reserved. 1 Joe Berkovitz VP Engineering Allurent, Inc. Continuous Integration with Flex, FlexUnit, and Ant.
Using Ant to build J2EE Applications Kumar
Introduction to ant Guy Rixon AstroGrid Consortium Meeting
Automating the Build Process using Ant SE-2030 Dr. Rob Hasker 1 Based on material by Dr. Mark L. Hornick.
Apache Ant Java-Based Build Tool. Making your builds boring… Building projects should be easy and standardized. You should not be spending a substantial.
Apache Ant A gateway to test-driven Java development.
Ch 1. A Python Q&A Session Spring Why do people use Python? Software quality Developer productivity Program portability Support libraries Component.
July 2011CMSC 341 CVS/Ant 1 CMSC 341 Java Packages Ant CVS Project Submission.
Automating the Build Process using ANT SE-2030 Dr. Rob Hasker 1 Based on material by Dr. Mark L. Hornick.
Operating System What is an Operating System? A program that acts as an intermediary between a user of a computer and the computer hardware. An operating.
Ant Presentation by: Bart Taylor. What is Ant? The simple definition: A Java-based build tool The Official Definition: “Apache Ant is a Java-based build.
Ant & Jar Ant – Java-based build tool Jar – pkzip archive, that contains metadata (a manifest file) that the JRE understands.
Test Automation For Web-Based Applications Portnov Computer School Presenter: Ellie Skobel.
Software Development COMP220/COMP285 Seb Coope Introducing Ant These slides are mainly based on “Java Development with Ant” - E. Hatcher & S.Loughran.
14th Oct 2005CERN AB Controls Development Process of Accelerator Controls Software G.Kruk L.Mestre, V.Paris, S.Oglaza, V. Baggiolini, E.Roux and Application.
Installing SPHINX by: COLLEGE OF ART & SCIENCE UNIVERSITI UTARA MALAYSIA STIW5023 ADVANCED PROGRAMMING.
Jericho CSCI 7818 September 5, 2001 Carissa Mills.
Tools – Ant-MakeEtc 1 CSCE 747 Fall 2013 CSCE 747 Software Testing and Quality Assurance Tools 12 – Hamcrest 10/02/
Chapter 1 Introducing Ant. What is ant? Ant is a build tool  Automate the tasks of compiling code, running test, and packaging the results for redistribution.
IT System Administration Lesson 3 Dr Jeffrey A Robinson.
1 G52IWS: Example Web-services Chris Greenhalgh. 2 Contents Software requirements AXIS web service run-time components Getting started with Jetty & AXIS.
® IBM Software Group © 2006 IBM Corporation Rational Asset Manager v7.2 Using Scripting Tutorial for using command line and scripting using Ant Tasks Carlos.
(1) Code Walkthrough robocode-pmj-dacruzer Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences University of.
Dr. Abdullah Almutairi Spring PHP is a server scripting language, and a powerful tool for making dynamic and interactive Web pages. PHP is a widely-used,
RTLAB Real-Time System Build automation School of Electronics Engineering College of IT Engineering Kyungpook National University Jun Sang ho (Rm) IT1-501.
Using Ant in Eclipse Dwight Deugo Nesa Matic
SG Introduction to ANT scmGalaxy Author: Rajesh Kumar
An Introduction to Ant. What is Ant? How do you use it? Why would you want to?
PhoneGap. web-based mobile development framework, based on the open-source Cordova project. use standard web technologies such as HTML5, CSS3, and JavaScript.
Ant Presented by: Mindaugas Idzelis Tatum Krawczyk.
Source Code Inspection and Software Reuse
Architecture Review 10/11/2004
Goals Give you a feeling of what Eclipse is.
OFBiz Internals.
Brian Leonard ブライアン レオナルド
Large Program Management: Make; Ant
What is make? make is a system utility for managing the build process (compilation/linking/etc). There are various versions of make; these notes discuss.
Zlatko Stamatov JavaSkop 13 December 2015
Maven IIB9 Plug-in Version 9.0
J2EE Application Development
Ant.
Large Program Management: Make; Ant
How to Run a Java Program
Large Program Management: Make; Ant
CSE 390 Lecture 8 Large Program Management: Make; Ant
< ant > nrg.
Cordova & Cordova Plugin Installation and Management
Maven IIB9 Plug-in Version 9.0
Nilanjan Banerjee Java Packages Ant CVS Project Submission
Large Program Management: Make; Ant
Large Program Management: Make; Ant
Large Program Management: Make; Ant
The Role of Command Line Compiler (csc.exe)
Large Program Management: Make; Ant
Presentation transcript:

NAnt Build Tool CSE784 : ProjectCentralNet Prof : Dr. Jim Fawcett Presented By : Dipesh Khakhkhar Team : Open source tools

About NAnt NAnt is a free .NET build tool. In theory it is kind of like make without make's wrinkles. In practice it's a lot like Ant. Ant is Java Build tool. For more information about Ant see http://ant.apache.org/manual/ NAnt name is derived from the fact that it is not Ant.

Interface Command line interface only. Instead of a model where it is extended with shell-based commands, NAnt is extended using task classes. Instead of writing shell commands, the configuration files are XML-based, calling out a target tree where various tasks get executed. Each task is run by an object that implements a particular Task interface.

System Requirements To use NAnt you need Microsoft .NET Framework SDK. This includes the runtime and the tools required to build programs. NAnt has been tested with version 1.0.3705.

Dependencies As mentioned in the earlier slide you need to have .NET framework installed. NAnt uses a number of open source third party libaries. Recent versions are included with the NAnt distribution and no extra work is required to install them. Libraries for the following are included: NUnit - Required for unit testing NDoc - Required for documentation generation SharpZipLib - Required for the zip and unzip tasks

Conceptual flow for NAnt

Running NAnt Path of the NAnt.exe is set up in the PATH variable. When nothing is specified, NAnt looks for a file ending with .build, e.g., NAnt.build, in the current directory. If found, it uses that file as the build file.  If more than one file is found you need to specify the build file using the –buildfile option.

Running NAnt (continue) Examples NAnt Runs NAnt using the file ending in *.build.xml file in the current directory, on the default target. NAnt -buildfile:..\ProjectName.build Runs NAnt using the ProjectName.build file in the parent directory, on the default target. NAnt clean Runs NAnt using the default build file in the current directory, on a target called clean.

Example build file Here is a simple build file that compiles a C# HelloWorld project. <project> <?xml version="1.0"?> <project name="Hello World" default="build" basedir="."> <description>The Hello World of build files.</description> <property name="debug" value="true" overwrite="false" /> <target name="clean" description="remove all generated files"> <delete file="HelloWorld.exe" failonerror="false" /> <delete file="HelloWorld.pdb" failonerror="false" /> </target> <target name="build" description="compiles the source code"> <csc target="exe" output="HelloWorld.exe" debug="${debug}"> <sources> <includes name="HelloWorld.cs" /> </sources> </csc> </project>

Build file (continue) In the above example there are two targets, "clean" and "build".  By default the "build" target will be called. Each project defines one or more targets. A target is a set of tasks to be executed. A target can depend on other targets.  You might have a target for compiling, for example, and a target for creating a distributable. A task is a piece of code that can be executed. A task can have multiple attributes. Tasks have a common structure: <name attribute1="value1" attribute2="value2" ... /> where name is the name of the task, attribute# is the attribute name, and value# is the value for this attribute.

Interaction with third party tools Can interact with CVS for source control and configuration management. Possible to interact with NUnit to perform unit test on the functions. Can execute system command using <exec> task.

Areas of improvement/enhancement The tool provides vast capability which can be utilized by providing interactive GUI. Still in the exploration phase more work is on progress.

Any Questions ??? Thanks !!