1 Rake. 2 Automated Build Any non-trivial project needs facility to automate builds –Routine common tasks that need to be carried out several times a.

Slides:



Advertisements
Similar presentations
GCSE Computing Lesson 5.
Advertisements

compilers and interpreters
Java Packages CSci 1130 Intro to Computer Programming with Java Instructor Tatyana Volk.
Procedures and Functions. What are they? They are both blocks of code that can be reused to perform specific task. However there is a difference: Function-
Ruby (on Rails) CSE 190M, Spring 2009 Week 3. Web Programming in Ruby Ruby can be used to write dynamic web pages Similar to PHP, chunks of Ruby begins.
Web Applications Development Using Coldbox Platform Eddie Johnston.
ANT – Another Neat Tool Representation and Management of Data on the Internet.
Introduction to Object-Oriented Programming CS 21a: Introduction to Computing I First Semester,
1 Ant – Another Neat Tool Representation and Management of Data on the Internet.
Presented by IBM developer Works ibm.com/developerworks/ 2006 January – April © 2006 IBM Corporation. Making the most of The Java Development Tools project.
26-Jun-15 Rake. rake and make A program can consist of many source code files This is always true in Rails! The files may need to be compiled in a certain.
Rob Reynolds | | Twitter: ferventcoder.
27-Jun-15 Rails. What is Rails? Rails is a framework for building web applications This involves: Getting information from the user (client), using HTML.
Rob Reynolds | | Twitter: ferventcoder.
CS465 - Unix C Programming (cc/make and configuration control)
Adding Automated Functionality to Office Applications.
BY: SACHIN SHRIVASTAVA Operating System By : Sachin Shrivastava 1.
Assembly & Machine Languages
UNIT-V The MVC architecture and Struts Framework.
Activity 1 - WBs 5 mins Go online and spend a moment trying to find out the difference between: HIGH LEVEL programming languages and LOW LEVEL programming.
Peter Andreae Computer Science Victoria University of Wellington Copyright: Peter Andreae, Victoria University of Wellington Java Programs COMP 102 #3.
1 Chapter-01 Introduction to Computers and C++ Programming.
Software Engineering 2003 Jyrki Nummenmaa 1 CASE Tools CASE = Computer-Aided Software Engineering A set of tools to (optimally) assist in each.
Standard Grade Computing System Software & Operating Systems.
Introduction to Object-Oriented Programming
IPC144 Introduction to Programming Using C Week 1 – Lesson 2
Automating Database Processing Chapter 6. Chapter Introduction Design and implement user-friendly menu – Called navigation form Macros – Automate repetitive.
Design and Programming Chapter 7 Applied Software Project Management, Stellman & Greene See also:
Ex3 Preview, Swing tutorial Ex1 review Amit Shabtay.
Introduction to C Programming CE Lecture 7 Compiler options and makefiles.
July 2011CMSC 341 CVS/Ant 1 CMSC 341 Java Packages Ant CVS Project Submission.
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.
Programming Domains 1.Scientific Applications Typically, scientific applications have simple data structures but require large numbers of floating-point.
Creating Macros in Excel Adding Automated Functionality to Excel & Office Applications.
Software Development COMP220/COMP285 Seb Coope Introducing Ant These slides are mainly based on “Java Development with Ant” - E. Hatcher & S.Loughran.
PHP Error Handling Section :I Source: 1.
How to Program? -- Part 1 Part 1: Problem Solving –Analyze a problem –Decide what steps need to be taken to solve it. –Take into consideration any special.
Peter Andreae Computer Science Victoria University of Wellington Copyright: Peter Andreae, Victoria University of Wellington Java Programs COMP 102 #3.
8 th Semester, Batch 2008 Department Of Computer Science SSUET.
I can run this simple BAT file to copy files: (this was tried with and without the pause command)
Compilers and Interpreters
Brandon Packard. Why make? So far, you have probably worked on relatively small projects Coding projects can become huge My research consists of 1600.
© Peter Andreae Java Programs COMP 102 # T1 Peter Andreae Computer Science Victoria University of Wellington.
Software testing techniques Software testing techniques REGRESSION TESTING Presentation on the seminar Kaunas University of Technology.
Software. Introduction n A computer can’t do anything without a program of instructions. n A program is a set of instructions a computer carries out.
Chapter 1: Introduction to Computers and Programming.
RTLAB Real-Time System Build automation School of Electronics Engineering College of IT Engineering Kyungpook National University Jun Sang ho (Rm) IT1-501.
Software Engineering Algorithms, Compilers, & Lifecycle.
REGRESSION TESTING Audrius Čėsna IFM-0/2. Regression testing is any type of software testing that seeks to uncover new errors, or regressions, in existing.
Makefiles Manolis Koubarakis Data Structures and Programming Techniques 1.
SG Introduction to ANT scmGalaxy Author: Rajesh Kumar
Programming Language Basics. What is a Programming Language? “A computer, human-created language used to write instructions for a computer.” “An artificial.
INTRODUCTION TO ROBOTICS Part 5: Programming
Lecture 1b- Introduction
Prof: Dr. Shu-Ching Chen TA: Hsin-Yu Ha Fall 2015
High or Low Level Programming Language? Justify your decision.
Brian Leonard ブライアン レオナルド
TRANSLATORS AND IDEs Key Revision Points.
Assembler, Compiler, Interpreter
When I want to execute the subroutine I just give the command Write()
Ant.
Makefiles and the make utility
Rake 4-Dec-18.
Assembler, Compiler, Interpreter
Programming Language Basics
Nilanjan Banerjee Java Packages Ant CVS Project Submission
Data Groupings: File File: a group of related records
Module 5 Getting Help.
Makefiles and the make utility
Presentation transcript:

1 Rake

2 Automated Build Any non-trivial project needs facility to automate builds –Routine common tasks that need to be carried out several times a day Not very efficient to do manually and also error prone Rake is the make utility for Rails

3 What does a make file have? Typically a make file has –Commands or tasks –Dependency between the tasks –A way to specify which tasks to execute (selectively or all) –Tasks only execute if necessary

4 make vs. ant Even though similar quite some differences ant is task based –You specify tasks and instructions to execute make allows file type based specification –You can say that a type of file needs to be built based on another type of file –make will check for timestamp of these files and decide if it should be built

5 What’s special about Rake? Ant for Java (NAnt for.NET) uses xml Jim Weirich’s Rake uses ruby! Makes it easier to write – you are not switching languages – feels natural If you know Ruby, you simply read it and you get it! Rake is a internal Domain Specific Language which uses the Ruby syntax Rake is very easy to extend – write Ruby code

6 Let’s Give It a Try

7 Rake Conventions Rake uses rakefile.rb by default when you type rake => is used for dependency/pre-requisites :default is the task that will be executed, err, by default

8 Rake Dry Run Allows you to see what Rake will do -- trace option will trace the task calls as it executes

9 Rake prerequisites You can find what the pre-requisite for tasks are using the -P option

10 Task and description You can write a description for task and check those out using –T option

11 Prerequisite Specification You can specify when you define a task You can also specify separately

12 file tasks In addition to tasks like we saw so far, you can define file tasks File tasks (like good old make) specify the input output file and pre-requisite input file Checks time stamp of output file and if it is earlier than input file, task is executed

13 Using file

14 Rake and Rails Rails make great use of Rake Allows you to run different tasks –Tests –Cloning database –… One way to learn rake is to study the rake files in Rails