=dev the dev gem provides functionality to support the development of ruby,c#,c++ and c projects. dev may be used to auto generate rake tasks =dev the dev gem provides functionality to support the development of ruby,c#,c++ and c projects. when the require 'dev' is used in a rakefile, the variable DEV is defined as well as several rake tasks. the DEV variable may be manipulated to modify behavior of defined tasks or to cause additional task to be generated. ==Installation dev can be installed by the single command gem install dev ==Usage dev can be included in a ruby script with require 'dev' a constant DEV hash is the primary variable about which the dev functionality revolves some example usages: PROJECT=Dev::Project.new{( name: 'HelloRuby' )} ===Simplest usage DEV_HOME/wrk/Examples/HelloRuby/trunk/rakefile.rb require 'dev' ==Reference ===Variables ====DEV is a global instance of a Hash. The variable is define by require 'dev' statement DEV may define several keys automatically =====DEV[scm_uri] the uri for the source code management system. =====DEV[:scm_type] the type of source code managment, (none,svn,git). =====DEV[:directory] the full directory name of the rakefile.rb. =====DEV[:fullname] the name of the project (inferred by directory structure relative to DEV_ROOT). =====DEV[:version] the version specified by the .semver file. =====DEV[:dev_root] the root working directory ENV['DEV_ROOT'] if defined, otherwise user home directory. =====DEV[:toolset] the boost build toolset, if available =====DEV[:paths] a hash containing various environment paths ====CLEAN is a Rake::FileList that specifies file(s) to be removed during the clean task. ====CLOBBER is a Rake::FileList that specifies file(s) to be removed during the clobber task. ====BUILD_PRODUCTS is a Rake::FileList that specified file(s) that are required to consume the project. ===Tasks rake add # add files defined by src_glob to source code management rake check # checks if the project default task may be skipped rake clean # Remove any temporary products. rake clobber # Remove any generated file. rake commit # commit rake compile # compile rake features # tests cucumber features rake info # display information about the rakefile rake loc # count the lines of code rake pull # rake working copies of dependencies rake replace # replace text rake setup # setup the project environment rake test # run unit tests rake update # updates changes from source code management rake default # is automatically generated by require 'dev' or TASKS.refresh # to prevent automatic generation of default task, # define DEV_NO_DEFAULT_TASK prior to require 'dev' # the automatically generated task will execute the following tasks (if defined) # ["check","setup","replace","pre_compile","compile","post_compile","pre_test", # "test","post_test","log_build_products","add","commit","update","finalize"] # defining an array of string named DEFAULT_TASK_ORDER will cause # the default task to contain those tasks (if defined). ==License Copyright 2012-2013 Lou Parslow Licensed 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.