farleyknight / ionize
- Source
- Commits
- Network (1)
- Issues (0)
- Downloads (0)
- Wiki (1)
- Graphs
-
Tree:
8838540
ionize / Rakefile
| 965eebe3 » | Robin Hoode | 2008-08-20 | 1 | # require 'config/requirements' | |
| 2 | # require 'config/hoe' # setup Hoe + all gem configuration | ||||
| 44d8f0cf » | butterflyeffect | 2008-07-13 | 3 | ||
| ec36a15e » | Robin Hoode | 2008-10-22 | 4 | # Process.setrlimit(Process::RLIMIT_AS, (1024 ** 2) * 100) | |
| 5 | |||||
| 6 | |||||
| 166d4d71 » | Robin Hoode | 2008-08-01 | 7 | Dir['tasks/**/*.rake'].each { |rake| load rake } | |
| 8 | |||||
| f833ae57 » | Robin Hoode | 2008-09-01 | 9 | require 'lib/ionize' | |
| 10 | require 'spec/rake/spectask' | ||||
| 11 | |||||
| bfd559ae » | Robin Hoode | 2008-10-21 | 12 | module Joomla | |
| 13 | def files | ||||
| 14 | files = Dir["spec/fixtures/joomla/*.php"] + Dir["spec/fixtures/joomla/**/*.php"] | ||||
| d6e6d9ef » | Robin Hoode | 2008-10-24 | 15 | # The LICENSE and CHANGELONG is not an actual php file | |
| bfd559ae » | Robin Hoode | 2008-10-21 | 16 | files = files.reject {|f| f =~ /LICENSE/ or f =~ /CHANGELOG/ } | |
| 17 | files | ||||
| 18 | end | ||||
| 19 | end | ||||
| 20 | |||||
| f833ae57 » | Robin Hoode | 2008-09-01 | 21 | namespace :joomla do | |
| bfd559ae » | Robin Hoode | 2008-10-21 | 22 | include Joomla | |
| 23 | |||||
| f833ae57 » | Robin Hoode | 2008-09-01 | 24 | task :init do | |
| 25 | Ionize::Php::CharacterLimit = 999999999999 | ||||
| 26 | end | ||||
| bfd559ae » | Robin Hoode | 2008-10-21 | 27 | ||
| 28 | namespace :download do | ||||
| 29 | include Joomla | ||||
| 30 | |||||
| ec36a15e » | Robin Hoode | 2008-10-22 | 31 | desc "Download Joomla 1.0" | |
| bfd559ae » | Robin Hoode | 2008-10-21 | 32 | task "1_0" do | |
| 33 | download("1_0") | ||||
| 34 | end | ||||
| 35 | |||||
| ec36a15e » | Robin Hoode | 2008-10-22 | 36 | desc "Download Joomla 1.5" | |
| bfd559ae » | Robin Hoode | 2008-10-21 | 37 | task "1_5" do | |
| 38 | download("1_5") | ||||
| 39 | end | ||||
| 40 | end | ||||
| f833ae57 » | Robin Hoode | 2008-09-01 | 41 | ||
| 42 | task :tokenize => :init do | ||||
| 43 | files.each do |f| | ||||
| 44 | puts "Tokenizing #{f}" | ||||
| 45 | Ionize::Php.to_tokens(File.read(f)) | ||||
| 46 | GC.start | ||||
| 47 | end | ||||
| 48 | end | ||||
| 49 | |||||
| 50 | task :parse => :init do | ||||
| bfd559ae » | Robin Hoode | 2008-10-21 | 51 | unparsed = [] | |
| f833ae57 » | Robin Hoode | 2008-09-01 | 52 | files.each do |f| | |
| 53 | puts "Parsing #{f}" | ||||
| bfd559ae » | Robin Hoode | 2008-10-21 | 54 | begin | |
| 55 | Ionize::Php.to_ast(File.read(f)) | ||||
| 56 | rescue => error | ||||
| 57 | puts "Couldn't parse #{f}" | ||||
| 58 | unparsed << f | ||||
| 59 | end | ||||
| f833ae57 » | Robin Hoode | 2008-09-01 | 60 | GC.start | |
| 61 | end | ||||
| bfd559ae » | Robin Hoode | 2008-10-21 | 62 | puts "Couldn't parse #{unparsed.length} files" | |
| f833ae57 » | Robin Hoode | 2008-09-01 | 63 | end | |
| 64 | |||||
| 65 | task :sexpize => :init do | ||||
| 66 | files.each do |f| | ||||
| 67 | puts "Sexpizing #{f}" | ||||
| 68 | Ionize::Php.to_sexp(File.read(f)) | ||||
| 69 | GC.start | ||||
| 70 | end | ||||
| 71 | end | ||||
| 72 | |||||
| 73 | end | ||||
| 74 | |||||
| a96ad053 » | Robin Hoode | 2008-09-02 | 75 | namespace :treetop do | |
| 76 | task :init do | ||||
| 77 | require 'treetop' | ||||
| d6e6d9ef » | Robin Hoode | 2008-10-24 | 78 | require 'etc/pre_parser' | |
| a96ad053 » | Robin Hoode | 2008-09-02 | 79 | Treetop.load "etc/php" | |
| 80 | end | ||||
| 81 | |||||
| bfd559ae » | Robin Hoode | 2008-10-21 | 82 | namespace :joomla do | |
| 83 | include Joomla | ||||
| 84 | |||||
| ec36a15e » | Robin Hoode | 2008-10-22 | 85 | desc "Parse Joomla with Treetop Php parser" | |
| bfd559ae » | Robin Hoode | 2008-10-21 | 86 | task :parse => "treetop:init" do | |
| 87 | parser = PhpParser.new | ||||
| 88 | unparsed = [] | ||||
| 89 | |||||
| 90 | files.each do |file| | ||||
| 91 | puts "Parsing #{file}" | ||||
| d6e6d9ef » | Robin Hoode | 2008-10-24 | 92 | text = PreParser.new(File.read(file)).run | |
| bfd559ae » | Robin Hoode | 2008-10-21 | 93 | result = parser.parse(text) | |
| 94 | if result.nil? | ||||
| 95 | puts "Couldn't parse #{file}" | ||||
| 96 | unparsed << file | ||||
| 97 | end | ||||
| 98 | end | ||||
| 99 | |||||
| d6e6d9ef » | Robin Hoode | 2008-10-24 | 100 | puts "Couldn't parse #{unparsed.length} files" | |
| 101 | puts unparsed.inspect | ||||
| bfd559ae » | Robin Hoode | 2008-10-21 | 102 | end | |
| 103 | end | ||||
| 104 | |||||
| ec36a15e » | Robin Hoode | 2008-10-22 | 105 | desc "Parse tests with Treetop Php parser" | |
| a96ad053 » | Robin Hoode | 2008-09-02 | 106 | task :parse => :init do | |
| d6e6d9ef » | Robin Hoode | 2008-10-24 | 107 | require 'etc/pre_parser' | |
| a96ad053 » | Robin Hoode | 2008-09-02 | 108 | parser = PhpParser.new | |
| 109 | unparsed = [] | ||||
| 110 | |||||
| bfd559ae » | Robin Hoode | 2008-10-21 | 111 | files = Dir["spec/fixtures/*.php"] | |
| a96ad053 » | Robin Hoode | 2008-09-02 | 112 | files.each do |file| | |
| bfd559ae » | Robin Hoode | 2008-10-21 | 113 | puts "Parsing #{file}" | |
| d6e6d9ef » | Robin Hoode | 2008-10-24 | 114 | text = PreParser.new(File.read(file)).run | |
| ec36a15e » | Robin Hoode | 2008-10-22 | 115 | result = parser.parse(text) | |
| a96ad053 » | Robin Hoode | 2008-09-02 | 116 | if result.nil? | |
| 117 | puts "Couldn't parse #{file}" | ||||
| 118 | unparsed << file | ||||
| 119 | end | ||||
| 120 | end | ||||
| 121 | |||||
| d6e6d9ef » | Robin Hoode | 2008-10-24 | 122 | if unparsed.empty? | |
| 123 | puts "Parsed all the files" | ||||
| 124 | else | ||||
| 125 | puts "Couldn't parse #{unparsed.length} files" | ||||
| 126 | end | ||||
| a96ad053 » | Robin Hoode | 2008-09-02 | 127 | end | |
| 128 | end | ||||
| 129 | |||||
| bfd559ae » | Robin Hoode | 2008-10-21 | 130 | desc "Run parser specs" | |
| f833ae57 » | Robin Hoode | 2008-09-01 | 131 | Spec::Rake::SpecTask.new do |t| | |
| bfd559ae » | Robin Hoode | 2008-10-21 | 132 | t.name = "spec_parser" | |
| 133 | t.spec_files = "spec/php_parser_spec.rb" | ||||
| f833ae57 » | Robin Hoode | 2008-09-01 | 134 | end | |
| bfd559ae » | Robin Hoode | 2008-10-21 | 135 | ||
| 136 | desc "Run translator specs" | ||||
| 137 | Spec::Rake::SpecTask.new do |t| | ||||
| 138 | t.name = "spec_translator" | ||||
| 139 | t.spec_files = "spec/php_translator_spec.rb" | ||||
| 140 | end | ||||
| 141 | |||||

