Course SummaryThis course introduces Ant and how to use it for test-driven Java application development. A single application of increasing complexity, followed throughout the class, shows how an application evolves and how to handle the problems of building and testing. Coverage of large-projects, Ant's advanced features, and the details and depth of the discussion-all unavailable elsewhere is included in the course. Advanced topics include how to manage large projects, Library management, Enterprise Java Continuous integration, Deployment, writing new Ant tasks and data types.
- What is Ant?
- What makes Ant so special?
- When to use Ant
- When not to use Ant
- Alternatives to Ant
A First Ant build
- Defining the first project
- Step zero: creating the project directory
- Step one: verifying the tools are in place
- Step two: writing your first Ant build file
- Step three: running your first build
- Step four: imposing structure
- Step five: running our program
- Ant command-line options
- Examining the final build file
- Running the build under an IDE
Understanding Ant Datatypes and Properties
- Introducing datatypes and properties with
- Additional Ant datatypes
- Controlling Ant with properties
- Managing library dependencies
- Resources: Ant?s secret data model
- Best practices
Testing with JUnit
- What is testing, and why do it?
- Introducing the application
- How to test a program
- Introducing JUnit
- The JUnit task:
- Generating HTML test reports
- Advanced techniques
- Best practices
- Working with files
- Introducing mappers
- Modifying files as you go
- Preparing to package
- Creating JAR files
- Testing with JAR files
- Creating Zip files
- Packaging for Unix
- Working with resources
- Running programs under Ant?an introduction
- Running native programs
- Advanced and
- Bulk operations with
- Best practices
Distributing an Application
- Preparing for distribution
- FTP-based distribution of a packaged application
- Email-based distribution of a packaged application
- Secure distribution with SSH and SCP
- HTTP download
- Distribution over multiple channels
Putting It All Together
- How to write good build files
- Building the diary library
- Adopting Ant
- Building an existing project under Ant
Beyond Ant?s Core Tasks
- The many different categories of Ant tasks
- Installing optional tasks
- Optional tasks in action
- Software configuration management under Ant
- Using third-party tasks
- The Ant-contrib tasks
- Code auditing with Checkstyle
Working with Big Projects
- Master builds: managing large projects
- Controlling child project builds
- Advanced delegation
- Inheriting build files through
- Ant?s macro facilities
- Writing macros with
- Introducing Ivy
- Installing Ivy
- Resolving, reporting, and retrieving
- Working across projects with Ivy
Developing for the Web
- Developing a web application
- Building the WAR file
At the end of the course, students will be able to:
- Understand Ant
- Install Ant
- Understand Ant concepts and terminologies
- Work with embedded properties and external properties using properties files
- Integrate ANT into their IDE
- Use Ant in Business Applications
- Understand Ant Tasks
- Automate their build and testing through Ant tasks
- Use Ant for automated deployment
- Create Custom Ant tasks
This course is designed for Build Engineers and Developers working on projects that use Ant as an automated build tool.
Lecture (50%) / Workshop (50%)
scmGalaxy is a community initiatives based on Software configuration management that helps community members to optimize their software development process, Software Development Life Cycle optimization, Agile Methodologies and improve productivity across all aspects of Java development, including Build Scripts, Testing, Issue Tracking, Continuous Integration, Code Quality and more. scmGalaxy group that helps organisations optimize their software development process. We provide consulting, training and mentoring services in Agile Development Practices such as Version Management, Continuous Integration, Build Management, Test-Driven Development, Acceptance-Test Driven Development, Build Automation, Code Quality Practices and Automated Testing.
We provide job oriented training in the area of Configuration management, Build and Release Engineering. Candidates with engineering or software background and looking to either start or change their career to Build and Release Engineering, would benefit most from this training. Instructor-led training course offered in India, Bangalore, Delhi, Pune, Mumbai and Hydrabad. Instructor is an expert in Software configuration management, Build and release engineering with more than 15 years industry experience in india.The Goal of the course make the training attendants equip with all the concepts of build and release engineering.
To bring your team up to speed with agile development, We can also run the from Continuous Integration to Continuous Delivery with autoamted course within your premises.
This course is an intensive 1-day & 2-day workshop with a mixture of teaching and lab exercises. Currently, this course is offered exclusively as an on-site course. Please contact us for more details.
This is a hands-on, practical course designed to teach specialised skills for real-world development situations. It is thus primarily aimed at a SCM Engineer, Build/Release Engineer and developer audience.
The course is modular and flexible - depending on specific student needs and requests. Through our trainings, you benefit from the wide experience and architectural expertise of our team. We bring that experience to you in an highly interactive, intensely hands-on setting.
We assume participants have a reasonable understanding of Development in any language as well as a basic understanding of the Software Development Life Cycle.
All our courses are above all practical in nature. We believe that the best way to learn is by doing. So the course contains approximately 80% lab work.
Each registrant will receive a copy of the student notes and lab solutions, a certificate of completion, and a CD containing all the tools covered in the course and CD containing all the tools covered in the course.