Mercurial > projects > dwt2
annotate rakefile @ 16:dbfb303e8fb0
first complete successful compile (win-only)
author | Frank Benoit <benoit@tionex.de> |
---|---|
date | Wed, 18 Mar 2009 08:56:47 +0100 |
parents | bc29606a740c |
children | dccb717aa902 |
rev | line source |
---|---|
1 | 1 # |
2 # RSP : Create a response file for the compiler, which lists all files from the packages | |
3 # Compile and create Headers | |
4 # Move objects to unique names | |
5 # | |
6 require 'find' | |
7 require 'fileutils' | |
8 | |
8 | 9 #DMD="c:\\project\\dmd-2.026\\dmd\\windows\\bin\\dmd.exe" |
10 DMD="dmd" | |
1 | 11 LOCALOBJDIR="obj" |
12 OBJDIR="obj" | |
13 DIMPDIR="imp" | |
14 RSPNAME="rsp" | |
12
bc29606a740c
Added dwt-addons in original directory structure of eclipse.org
Frank Benoit <benoit@tionex.de>
parents:
8
diff
changeset
|
15 ALL_RESDIRS= [ "java/res", "org.eclipse.swt.win32.win32.x86/res", "res" ] |
1 | 16 |
17 class String | |
18 def to_path | |
19 self.gsub( '/', '\\' ); | |
20 end | |
21 end | |
22 | |
16
dbfb303e8fb0
first complete successful compile (win-only)
Frank Benoit <benoit@tionex.de>
parents:
12
diff
changeset
|
23 def buildTree( basedir, srcdir, resdir, dcargs="" ) |
12
bc29606a740c
Added dwt-addons in original directory structure of eclipse.org
Frank Benoit <benoit@tionex.de>
parents:
8
diff
changeset
|
24 puts "Building #{basedir} #{srcdir}" |
1 | 25 |
26 objdir_abs = File.expand_path( OBJDIR ) | |
27 dimpdir_abs = File.expand_path( DIMPDIR ) | |
28 resdir_abs = File.expand_path( File.join( basedir, resdir )) | |
29 srcdir_abs = File.expand_path( File.join( basedir, srcdir )) | |
30 rspfile_abs = File.expand_path( RSPNAME ) | |
31 | |
32 FileUtils.mkdir_p dimpdir_abs | |
33 FileUtils.mkdir_p objdir_abs | |
34 | |
35 rsp = File.new( rspfile_abs, "w+" ) | |
36 rsp.puts "-H" | |
37 rsp.puts "-I#{srcdir_abs.to_path}" | |
38 rsp.puts "-I#{dimpdir_abs.to_path}" | |
39 rsp.puts "-J#{resdir_abs.to_path}" | |
16
dbfb303e8fb0
first complete successful compile (win-only)
Frank Benoit <benoit@tionex.de>
parents:
12
diff
changeset
|
40 if dcargs.size > 0 then |
dbfb303e8fb0
first complete successful compile (win-only)
Frank Benoit <benoit@tionex.de>
parents:
12
diff
changeset
|
41 rsp.puts dcargs |
dbfb303e8fb0
first complete successful compile (win-only)
Frank Benoit <benoit@tionex.de>
parents:
12
diff
changeset
|
42 end |
3
4c0057e71936
Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents:
1
diff
changeset
|
43 ALL_RESDIRS.each do | dir | |
4c0057e71936
Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents:
1
diff
changeset
|
44 rsp.puts "-J#{File.expand_path(dir).to_path}" |
4c0057e71936
Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents:
1
diff
changeset
|
45 end |
1 | 46 rsp.puts "-c" |
47 rsp.puts "-op" | |
48 Find.find( srcdir_abs ) do |path| | |
49 if path =~ /\.d$/ then | |
50 rsp.puts path.to_path | |
51 end | |
52 end | |
53 rsp.close | |
54 | |
55 Dir.chdir(basedir) do | |
56 sh "#{DMD} @#{rspfile_abs.to_path}" do |ok, res| | |
3
4c0057e71936
Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents:
1
diff
changeset
|
57 |
4c0057e71936
Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents:
1
diff
changeset
|
58 if !ok then |
4c0057e71936
Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents:
1
diff
changeset
|
59 Find.find( srcdir_abs ) do |path| |
4c0057e71936
Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents:
1
diff
changeset
|
60 if FileTest.file?(path) && path =~ /\.di$/ then |
4c0057e71936
Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents:
1
diff
changeset
|
61 FileUtils.rm path |
4c0057e71936
Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents:
1
diff
changeset
|
62 end |
4c0057e71936
Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents:
1
diff
changeset
|
63 end |
4c0057e71936
Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents:
1
diff
changeset
|
64 |
4c0057e71936
Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents:
1
diff
changeset
|
65 raise "compile error" |
4c0057e71936
Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents:
1
diff
changeset
|
66 end |
1 | 67 end |
68 end | |
69 | |
70 Find.find( srcdir_abs ) do |path| | |
71 if FileTest.file?(path) && path =~ /\.di$/ then | |
72 trgfile = File.join( dimpdir_abs, path[ srcdir_abs.length+1 .. -1 ]) | |
73 FileUtils.mkdir_p File.dirname(trgfile) | |
74 FileUtils.mv path, trgfile | |
75 end | |
76 end | |
77 | |
78 srcdirparts = split_all( srcdir_abs ).length | |
79 Find.find( srcdir_abs ) do |path| | |
80 if FileTest.file?(path) && path =~ /\.o(bj)?$/ then | |
81 trgfile = split_all( path )[ srcdirparts .. -1 ].join( "-" ) | |
82 FileUtils.mv path, File.join( objdir_abs, trgfile ) | |
83 end | |
84 end | |
85 | |
86 end | |
87 | |
3
4c0057e71936
Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents:
1
diff
changeset
|
88 desc "Clean" |
4c0057e71936
Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents:
1
diff
changeset
|
89 task :clean do |
4c0057e71936
Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents:
1
diff
changeset
|
90 FileUtils.rm_rf DIMPDIR |
4c0057e71936
Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents:
1
diff
changeset
|
91 FileUtils.rm_rf OBJDIR |
4c0057e71936
Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents:
1
diff
changeset
|
92 FileUtils.rm_rf RSPNAME |
4c0057e71936
Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents:
1
diff
changeset
|
93 end |
4c0057e71936
Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents:
1
diff
changeset
|
94 |
1 | 95 desc "Build Java" |
96 task :java do | |
97 buildTree( "java", "src", "res" ) | |
98 end | |
99 | |
100 desc "Build SWT" | |
101 task :swt do | |
102 buildTree( "org.eclipse.swt.win32.win32.x86", "src", "res" ) | |
103 end | |
104 | |
3
4c0057e71936
Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents:
1
diff
changeset
|
105 desc "Build jface" |
4c0057e71936
Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents:
1
diff
changeset
|
106 task :jface do |
16
dbfb303e8fb0
first complete successful compile (win-only)
Frank Benoit <benoit@tionex.de>
parents:
12
diff
changeset
|
107 buildTree( "org.eclipse.osgi", "src", "res" ) |
dbfb303e8fb0
first complete successful compile (win-only)
Frank Benoit <benoit@tionex.de>
parents:
12
diff
changeset
|
108 buildTree( "org.eclipse.osgi", "supplement/src", "res" ) |
dbfb303e8fb0
first complete successful compile (win-only)
Frank Benoit <benoit@tionex.de>
parents:
12
diff
changeset
|
109 buildTree( "org.eclipse.equinox.common", "src", "res" ) |
dbfb303e8fb0
first complete successful compile (win-only)
Frank Benoit <benoit@tionex.de>
parents:
12
diff
changeset
|
110 buildTree( "org.eclipse.core.runtime", "src", "res" ) |
dbfb303e8fb0
first complete successful compile (win-only)
Frank Benoit <benoit@tionex.de>
parents:
12
diff
changeset
|
111 buildTree( "org.eclipse.core.commands", "src", "res" ) |
dbfb303e8fb0
first complete successful compile (win-only)
Frank Benoit <benoit@tionex.de>
parents:
12
diff
changeset
|
112 buildTree( "org.eclipse.core.jobs", "src", "res" ) |
dbfb303e8fb0
first complete successful compile (win-only)
Frank Benoit <benoit@tionex.de>
parents:
12
diff
changeset
|
113 buildTree( "org.eclipse.jface", "src", "res" ) |
12
bc29606a740c
Added dwt-addons in original directory structure of eclipse.org
Frank Benoit <benoit@tionex.de>
parents:
8
diff
changeset
|
114 buildTree( "org.eclipse.text", "src", "res" ) |
16
dbfb303e8fb0
first complete successful compile (win-only)
Frank Benoit <benoit@tionex.de>
parents:
12
diff
changeset
|
115 buildTree( "org.eclipse.jface.text", "projection", "res", "-Isrc" ) |
12
bc29606a740c
Added dwt-addons in original directory structure of eclipse.org
Frank Benoit <benoit@tionex.de>
parents:
8
diff
changeset
|
116 buildTree( "org.eclipse.jface.text", "src", "res" ) |
bc29606a740c
Added dwt-addons in original directory structure of eclipse.org
Frank Benoit <benoit@tionex.de>
parents:
8
diff
changeset
|
117 buildTree( "org.eclipse.ui.forms", "src", "res" ) |
bc29606a740c
Added dwt-addons in original directory structure of eclipse.org
Frank Benoit <benoit@tionex.de>
parents:
8
diff
changeset
|
118 buildTree( "org.eclipse.draw2d", "src", "res" ) |
3
4c0057e71936
Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents:
1
diff
changeset
|
119 end |
4c0057e71936
Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents:
1
diff
changeset
|
120 |