buildr-as3 0.2.19 → 0.2.20.pre

Sign up to get free protection for your applications and to get access to all the features.
data/.rspec ADDED
@@ -0,0 +1 @@
1
+ --color
data/Gemfile CHANGED
@@ -10,5 +10,9 @@ group :development do
10
10
  gem "bundler", "~> 1.0.0"
11
11
  gem "jeweler", "~> 1.5.2"
12
12
  gem "buildr", "~> 1.4.6"
13
- gem "rcov", ">= 0"
13
+ #gem "rcov", ">= 0"
14
+ gem "simplecov", :require => false
15
+ gem "simplecov-rcov", :require => false
16
+ gem "rspec", "~> 2.1.0"
17
+ gem "ci_reporter", "~> 1.6.5"
14
18
  end
data/Rakefile CHANGED
@@ -10,6 +10,7 @@ end
10
10
  require 'rake'
11
11
 
12
12
  require 'jeweler'
13
+ require File.dirname(__FILE__)+"/rake/jeweler_prerelease_tasks"
13
14
  Jeweler::Tasks.new do |gem|
14
15
  gem.name = "buildr-as3"
15
16
  gem.homepage = "http://github.com/devboy/buildr_as3"
@@ -21,22 +22,29 @@ Jeweler::Tasks.new do |gem|
21
22
  gem.add_runtime_dependency("buildr",">=1.4.5")
22
23
  end
23
24
  Jeweler::RubygemsDotOrgTasks.new
25
+ Jeweler::PrereleaseTasks.new
24
26
 
25
- require 'rake/testtask'
26
- Rake::TestTask.new(:test) do |test|
27
- test.libs << 'lib' << 'test'
28
- test.pattern = 'test/**/test_*.rb'
29
- test.verbose = true
27
+ task :prerelease => 'rubygems:release'
28
+
29
+ require 'rspec/core'
30
+ require 'rspec/core/rake_task'
31
+ require 'ci/reporter/rake/rspec'
32
+
33
+ ENV["CI_REPORTS"] ||= File.expand_path( File.join( File.dirname(__FILE__), "test", "report" ) )
34
+ RSpec::Core::RakeTask.new(:spec) do |spec|
35
+ spec.pattern = FileList['spec/**/*_spec.rb']
30
36
  end
31
37
 
32
- require 'rcov/rcovtask'
33
- Rcov::RcovTask.new do |test|
34
- test.libs << 'test'
35
- test.pattern = 'test/**/test_*.rb'
36
- test.verbose = true
38
+ task :spec => "ci:setup:rspec"
39
+
40
+ RSpec::Core::RakeTask.new(:rcov) do |spec|
41
+ spec.pattern = 'spec/**/*_spec.rb'
42
+ spec.rcov = true
37
43
  end
38
44
 
39
- task :default => :test
45
+ task :test => :spec
46
+ task :default => :spec
47
+
40
48
 
41
49
  require 'rake/rdoctask'
42
50
  Rake::RDocTask.new do |rdoc|
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.19
1
+ 0.2.20.pre
data/buildr-as3.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{buildr-as3}
8
- s.version = "0.2.19"
8
+ s.version = "0.2.20.pre"
9
9
 
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
10
+ s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Dominic Graefen"]
12
- s.date = %q{2011-07-26}
12
+ s.date = %q{2011-09-24}
13
13
  s.default_executable = %q{buildr-as3}
14
14
  s.description = %q{Build like you code - now supporting ActionScript 3 & Flex}
15
15
  s.email = %q{dominic @nospam@ devboy.org}
@@ -20,6 +20,7 @@ Gem::Specification.new do |s|
20
20
  ]
21
21
  s.files = [
22
22
  ".document",
23
+ ".rspec",
23
24
  "Gemfile",
24
25
  "LICENSE.txt",
25
26
  "README.rdoc",
@@ -53,8 +54,18 @@ Gem::Specification.new do |s|
53
54
  "lib/buildr/as3/toolkits/apparat.rb",
54
55
  "lib/buildr/as3/toolkits/base.rb",
55
56
  "lib/buildr/as3/toolkits/flexsdk.rb",
56
- "test/helper.rb",
57
- "test/test_buildr_as3.rb"
57
+ "rake/jeweler.rb",
58
+ "rake/jeweler_prerelease_tasks.rb",
59
+ "rake/pre_release_gemspec.rb",
60
+ "rake/pre_release_to_git.rb",
61
+ "spec/as3/compiler/aircompc_spec.rb",
62
+ "spec/as3/compiler/airmxmlc_spec.rb",
63
+ "spec/as3/compiler/compc_spec.rb",
64
+ "spec/as3/compiler/mxmlc_spec.rb",
65
+ "spec/as3/compiler/task_spec.rb",
66
+ "spec/as3/project_spec.rb",
67
+ "spec/sandbox.rb",
68
+ "spec/spec_helper.rb"
58
69
  ]
59
70
  s.homepage = %q{http://github.com/devboy/buildr_as3}
60
71
  s.licenses = ["MIT"]
@@ -62,8 +73,14 @@ Gem::Specification.new do |s|
62
73
  s.rubygems_version = %q{1.6.2}
63
74
  s.summary = %q{Buildr extension to allow ActionScript3/Flex development.}
64
75
  s.test_files = [
65
- "test/helper.rb",
66
- "test/test_buildr_as3.rb"
76
+ "spec/as3/compiler/aircompc_spec.rb",
77
+ "spec/as3/compiler/airmxmlc_spec.rb",
78
+ "spec/as3/compiler/compc_spec.rb",
79
+ "spec/as3/compiler/mxmlc_spec.rb",
80
+ "spec/as3/compiler/task_spec.rb",
81
+ "spec/as3/project_spec.rb",
82
+ "spec/sandbox.rb",
83
+ "spec/spec_helper.rb"
67
84
  ]
68
85
 
69
86
  if s.respond_to? :specification_version then
@@ -74,14 +91,20 @@ Gem::Specification.new do |s|
74
91
  s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
75
92
  s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
76
93
  s.add_development_dependency(%q<buildr>, ["~> 1.4.6"])
77
- s.add_development_dependency(%q<rcov>, [">= 0"])
94
+ s.add_development_dependency(%q<simplecov>, [">= 0"])
95
+ s.add_development_dependency(%q<simplecov-rcov>, [">= 0"])
96
+ s.add_development_dependency(%q<rspec>, ["~> 2.1.0"])
97
+ s.add_development_dependency(%q<ci_reporter>, ["~> 1.6.5"])
78
98
  s.add_runtime_dependency(%q<buildr>, [">= 1.4.5"])
79
99
  else
80
100
  s.add_dependency(%q<shoulda>, [">= 0"])
81
101
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
82
102
  s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
83
103
  s.add_dependency(%q<buildr>, ["~> 1.4.6"])
84
- s.add_dependency(%q<rcov>, [">= 0"])
104
+ s.add_dependency(%q<simplecov>, [">= 0"])
105
+ s.add_dependency(%q<simplecov-rcov>, [">= 0"])
106
+ s.add_dependency(%q<rspec>, ["~> 2.1.0"])
107
+ s.add_dependency(%q<ci_reporter>, ["~> 1.6.5"])
85
108
  s.add_dependency(%q<buildr>, [">= 1.4.5"])
86
109
  end
87
110
  else
@@ -89,7 +112,10 @@ Gem::Specification.new do |s|
89
112
  s.add_dependency(%q<bundler>, ["~> 1.0.0"])
90
113
  s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
91
114
  s.add_dependency(%q<buildr>, ["~> 1.4.6"])
92
- s.add_dependency(%q<rcov>, [">= 0"])
115
+ s.add_dependency(%q<simplecov>, [">= 0"])
116
+ s.add_dependency(%q<simplecov-rcov>, [">= 0"])
117
+ s.add_dependency(%q<rspec>, ["~> 2.1.0"])
118
+ s.add_dependency(%q<ci_reporter>, ["~> 1.6.5"])
93
119
  s.add_dependency(%q<buildr>, [">= 1.4.5"])
94
120
  end
95
121
  end
@@ -29,4 +29,6 @@ require "#{File.dirname(__FILE__)}/compiler/aircompc"
29
29
  Buildr::Compiler << Buildr::AS3::Compiler::Mxmlc
30
30
  Buildr::Compiler << Buildr::AS3::Compiler::Compc
31
31
  Buildr::Compiler << Buildr::AS3::Compiler::AirMxmlc
32
- Buildr::Compiler << Buildr::AS3::Compiler::AirCompc
32
+ Buildr::Compiler << Buildr::AS3::Compiler::AirCompc
33
+
34
+ require "#{File.dirname(__FILE__)}/compiler/task"
@@ -42,10 +42,12 @@ module Buildr
42
42
  :target => "bin", :target_ext => "swc",
43
43
  :packaging => :swc
44
44
 
45
- def compile(sources, target, dependencies) #:nodoc:
46
- @air = true
47
- super
45
+ private
46
+
47
+ def air
48
+ true
48
49
  end
50
+
49
51
  end
50
52
  end
51
53
  end
@@ -44,10 +44,12 @@ module Buildr
44
44
  :target => "bin", :target_ext => "swf",
45
45
  :packaging => :swf
46
46
 
47
- def compile(sources, target, dependencies) #:nodoc:
48
- @air = true
49
- super
47
+ private
48
+
49
+ def air
50
+ true
50
51
  end
52
+
51
53
  end
52
54
  end
53
55
  end
@@ -28,7 +28,7 @@ module Buildr
28
28
  module Compiler
29
29
  class FlexCompilerBase < Buildr::Compiler::Base #:nodoc:
30
30
 
31
- COMPILE_OPTIONS = [:warnings, :debug, :other, :flexsdk, :apparat]
31
+ COMPILE_OPTIONS = [:warnings, :debug, :other, :flexsdk, :apparat, :output]
32
32
 
33
33
  def initialize(project, options) #:nodoc:
34
34
  super
@@ -40,19 +40,7 @@ module Buildr
40
40
  check_options options, COMPILE_OPTIONS
41
41
  flex_sdk = options[:flexsdk].invoke
42
42
  output = @project.get_as3_output( is_test(sources,target,dependencies) )
43
- cmd_args = []
44
- cmd_args << "-jar" << @compiler_jar
45
- cmd_args << "+flexlib" << "#{flex_sdk.home}/frameworks"
46
- cmd_args << "-output" << output
47
- cmd_args << "+configname=air" if @air
48
- cmd_args << @main unless @main.nil?
49
- cmd_args << "-define+=CONFIG::debug,#{options[:debug]}"
50
- cmd_args << "-define+=CONFIG::environment,\"#{Buildr.environment}\""
51
- cmd_args << "-load-config" << flex_sdk.flex_config unless @air
52
- cmd_args << "-load-config" << flex_sdk.air_config if @air
53
- cmd_args += generate_source_args sources
54
- cmd_args += generate_dependency_args dependencies
55
- cmd_args += flex_compiler_args
43
+ cmd_args = compiler_args(dependencies, flex_sdk, output, sources)
56
44
  unless Buildr.application.options.dryrun
57
45
  trace(cmd_args.join(' '))
58
46
  Java::Commands.java cmd_args
@@ -71,6 +59,23 @@ module Buildr
71
59
 
72
60
  private
73
61
 
62
+ def compiler_args(dependencies, flex_sdk, output, sources)
63
+ cmd_args = []
64
+ cmd_args << "-jar" << compiler_jar
65
+ cmd_args << "+flexlib" << "#{flex_sdk.home}/frameworks"
66
+ cmd_args << "-output" << output
67
+ cmd_args << "+configname=air" if air
68
+ cmd_args << @main unless @main.nil?
69
+ cmd_args << "-define+=CONFIG::debug,#{options[:debug]}"
70
+ cmd_args << "-define+=CONFIG::environment,\"#{Buildr.environment}\""
71
+ cmd_args << "-load-config" << flex_sdk.flex_config unless air
72
+ cmd_args << "-load-config" << flex_sdk.air_config if air
73
+ cmd_args += generate_source_args sources
74
+ cmd_args += generate_dependency_args dependencies
75
+ cmd_args += flex_compiler_args
76
+ cmd_args
77
+ end
78
+
74
79
  def flex_compiler_args #:nodoc:
75
80
  args = []
76
81
  args << '-warnings=false' unless options[:warnings]
@@ -40,12 +40,19 @@ module Buildr
40
40
  :packaging => :swc
41
41
 
42
42
  def compile(sources, target, dependencies) #:nodoc:
43
- @compiler_jar = options[:flexsdk].compc_jar
44
43
  super
45
44
  end
46
45
 
47
46
  private
48
47
 
48
+ def compiler_jar
49
+ options[:flexsdk].compc_jar
50
+ end
51
+
52
+ def air
53
+ false
54
+ end
55
+
49
56
  def generate_source_args(sources) #:nodoc:
50
57
  source_args = []
51
58
  sources.each { |source|
@@ -57,7 +64,9 @@ module Buildr
57
64
 
58
65
  def generate_dependency_args(dependencies) #:nodoc:
59
66
  dependency_args = []
60
- dependencies.each { |source| dependency_args << "-library-path+=#{source}" }
67
+ dependencies[:library].each { |source| dependency_args << "-library-path+=#{source}" }
68
+ dependencies[:external].each { |source| dependency_args << "-external-library-path+=#{source}" }
69
+ dependencies[:include].each { |source| dependency_args << "-include-libraries+=#{source}" }
61
70
  dependency_args
62
71
  end
63
72
 
@@ -47,7 +47,6 @@ module Buildr
47
47
  :packaging => :swf
48
48
 
49
49
  def compile(sources, target, dependencies) #:nodoc:
50
- @compiler_jar = options[:flexsdk].mxmlc_jar
51
50
  COMPILE_OPTIONS << :main
52
51
  @main = options[:main]
53
52
  super
@@ -55,6 +54,14 @@ module Buildr
55
54
 
56
55
  private
57
56
 
57
+ def compiler_jar
58
+ options[:flexsdk].mxmlc_jar
59
+ end
60
+
61
+ def air
62
+ false
63
+ end
64
+
58
65
  def generate_source_args(sources) #:nodoc:
59
66
  source_args = []
60
67
  sources.each { |source| source_args << "-source-path+=#{source}" }
@@ -63,7 +70,9 @@ module Buildr
63
70
 
64
71
  def generate_dependency_args(dependencies) #:nodoc:
65
72
  dependency_args = []
66
- dependencies.each { |source| dependency_args << "-library-path+=#{source}" }
73
+ dependencies[:library].each { |source| dependency_args << "-library-path+=#{source}" }
74
+ dependencies[:external].each { |source| dependency_args << "-external-library-path+=#{source}" }
75
+ dependencies[:include].each { |source| dependency_args << "-include-libraries+=#{source}" }
67
76
  dependency_args
68
77
  end
69
78
 
@@ -20,4 +20,35 @@
20
20
  # THE SOFTWARE.
21
21
  #
22
22
 
23
- # Let's enhance the CompileTask here!
23
+ # Let's enhance the CompileTask here!
24
+
25
+ require "buildr/core/compile"
26
+
27
+ class Buildr::CompileTask
28
+
29
+ attr_accessor :as3_dependencies
30
+
31
+ def with(*specs)
32
+
33
+ @as3_dependencies ||= {}
34
+ @as3_dependencies[:library] ||= FileList[]
35
+ @as3_dependencies[:external] ||= FileList[]
36
+ @as3_dependencies[:include] ||= FileList[]
37
+
38
+ specs.each do |spec|
39
+ case spec
40
+ when Hash
41
+ spec.each{ |key,value|
42
+ raise "key needs to be :library, :external or :include" unless [:library, :external, :include].include? key
43
+ @as3_dependencies[key] |= Buildr.artifacts(value).uniq
44
+ @dependencies |= Buildr.artifacts(value).uniq
45
+ }
46
+ else
47
+ @as3_dependencies[:library] |= Buildr.artifacts(spec).uniq
48
+ @dependencies |= Buildr.artifacts(spec).uniq
49
+ end
50
+ end
51
+ self
52
+ end
53
+
54
+ end
@@ -65,7 +65,7 @@ module Buildr
65
65
  if File.dirname(item) == source
66
66
  candidates << File.basename(item, '.*')
67
67
  else
68
- candidates << File.dirname(item).gsub!(source+"/", "").gsub!("/", ".")+"."+File.basename(item, '.*')
68
+ candidates << "#{File.dirname(item).gsub!(source+"/", "").gsub!("/", ".")}.#{File.basename(item, '.*')}"
69
69
  end
70
70
  }
71
71
  end
@@ -60,6 +60,26 @@ module Buildr
60
60
  self
61
61
  end
62
62
 
63
+ def copy_locale(locale,opts={})
64
+ opts = {:force => false, :based_on => "en_US"}.merge opts
65
+
66
+ return if !opts[:force] && File.directory?("#{@home}/frameworks/projects/framework/bundles/#{locale}")
67
+
68
+ # gotta download it
69
+ invoke
70
+
71
+ cmd_args = []
72
+ cmd_args << "-Dsun.io.useCanonCaches=false"
73
+ cmd_args << "-Dapplication.home=#{@home}"
74
+ cmd_args << "-jar" << @copylocale_jar
75
+ cmd_args << opts[:based_on]
76
+ cmd_args << locale
77
+ unless Buildr.application.options.dryrun
78
+ trace(cmd_args.join(' '))
79
+ Java::Commands.java cmd_args
80
+ end
81
+
82
+ end
63
83
  private
64
84
 
65
85
  def generate_url_from_version(version)
@@ -71,6 +91,7 @@ module Buildr
71
91
 
72
92
  def generate_paths(home_dir)
73
93
  @home = home_dir
94
+ @copylocale_jar = "#{@home}/lib/copylocale.jar"
74
95
  @mxmlc_jar = "#{@home}/lib/mxmlc.jar"
75
96
  @compc_jar = "#{@home}/lib/compc.jar"
76
97
  @asdoc_jar = "#{@home}/lib/asdoc.jar"
data/rake/jeweler.rb ADDED
@@ -0,0 +1,17 @@
1
+ class Jeweler
2
+ require File.dirname(__FILE__)+'/pre_release_to_git'
3
+ require File.dirname(__FILE__)+'/pre_release_gemspec'
4
+
5
+ def prerelease_to_git
6
+ Jeweler::Commands::PreReleaseToGit.build_for(self).run
7
+ end
8
+
9
+ def prerelease_gemspec
10
+ Jeweler::Commands::PreReleaseGemspec.build_for(self).run
11
+ end
12
+
13
+ def is_prerelease_version?
14
+ version.end_with? ".pre"
15
+ end
16
+
17
+ end
@@ -0,0 +1,50 @@
1
+ require 'rake'
2
+ require 'rake/tasklib'
3
+ require File.dirname(__FILE__)+"/jeweler"
4
+
5
+ class Jeweler
6
+ class PrereleaseTasks < Rake::TaskLib
7
+ attr_accessor :jeweler
8
+
9
+ def initialize
10
+ yield self if block_given?
11
+
12
+ define
13
+ end
14
+
15
+ def jeweler
16
+ @jeweler ||= Rake.application.jeweler
17
+ end
18
+
19
+ def define
20
+ namespace :git do
21
+ desc "Tag and push prerelease to git. (happens by default with `rake prerelease`)"
22
+ task :prerelease do
23
+ jeweler.prerelease_to_git
24
+ end
25
+ end
26
+
27
+ namespace :gemspec do
28
+ desc "Regenerate and validate gemspec, and then commits and pushes to git on develop branch"
29
+ task :prerelease do
30
+ jeweler.prerelease_gemspec
31
+ end
32
+ end
33
+
34
+ desc "Verifies that it is a prerelease version."
35
+ task :is_prerelease_version => :version_required do
36
+ abort "it's not a prerelease version" unless jeweler.is_prerelease_version?
37
+ end
38
+
39
+ namespace :rubygems do
40
+ desc "Release gem to Gemcutter"
41
+ task :release => [:gemspec, :build] do
42
+ jeweler.release_gem_to_rubygems
43
+ end
44
+ end
45
+
46
+ desc "Make a prerelease to rubygems."
47
+ task :prerelease => [:is_prerelease_version, 'gemspec:prerelease', 'git:prerelease', 'rubygems:release']
48
+ end
49
+ end
50
+ end