annotate rakefile @ 40:9f32c409fe27

Fix compile problem and extend rakefile
author Frank Benoit <benoit@tionex.de>
date Wed, 25 Mar 2009 15:10:08 +0100
parents d46287db17ed
children ed96ea2a2764
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
36
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
1 ##########################################################################
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
2 # DWT2
1
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
3 #
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
4 require 'find'
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
5 require 'fileutils'
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
6
36
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
7 ##########################################################################
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
8 # Helpers
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
9 #
1
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
10 class String
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
11 def to_path
25
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents: 21
diff changeset
12 if isWindows
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents: 21
diff changeset
13 self.gsub( '/', '\\' );
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents: 21
diff changeset
14 else
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents: 21
diff changeset
15 self
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents: 21
diff changeset
16 end
1
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
17 end
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
18 end
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
19
36
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
20 def isWindows
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
21 Config::CONFIG['host_os'] =~ /mswin/
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
22 end
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
23
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
24 ##########################################################################
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
25 # Constants
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
26 #
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
27 DMD = "dmd"
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
28 OBJDIR = File.expand_path("obj")
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
29 DIMPDIR = File.expand_path("imp")
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
30 LIBDIR = File.expand_path("lib")
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
31 BINDIR = File.expand_path("bin")
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
32 RSPNAME = File.expand_path("rsp")
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
33 ALL_RESDIRS = [ "base/res", "res" ]
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
34
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
35 LOG_STDOUT = File.expand_path("olog.txt")
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
36 LOG_STDERR = File.expand_path("elog.txt")
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
37
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
38
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
39 if isWindows
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
40 BASEDIR_SWT = "org.eclipse.swt.win32.win32.x86"
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
41 LIBEXT = ".lib"
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
42 OBJEXT = ".obj"
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
43 EXEEXT = ".exe"
40
9f32c409fe27 Fix compile problem and extend rakefile
Frank Benoit <benoit@tionex.de>
parents: 36
diff changeset
44 MAPEXT = ".map"
36
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
45 else
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
46 BASEDIR_SWT = "org.eclipse.swt.gtk.linux.x86"
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
47 LIBEXT = ".a"
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
48 OBJEXT = ".o"
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
49 EXEEXT = ""
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
50 end
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
51
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
52 ALL_RESDIRS << File.join(BASEDIR_SWT, "res" )
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
53
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
54 if isWindows
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
55 LIBNAMES_BASIC = [ "advapi32", "comctl32", "comdlg32", "gdi32", "kernel32",
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
56 "shell32", "ole32", "oleaut32", "olepro32", "oleacc",
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
57 "user32", "usp10", "msimg32", "opengl32", "shlwapi",
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
58 "dwt-base" ]
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
59
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
60 else
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
61 LIBNAMES_BASIC = [ "gtk-x11-2.0", "gdk-x11-2.0", "atk-1.0", "gdk_pixbuf-2.0",
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
62 "gthread-2.0", "pangocairo-1.0", "fontconfig", "Xtst",
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
63 "Xext", "Xrender", "Xinerama", "Xi", "Xrandr", "Xcursor",
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
64 "Xcomposite", "Xdamage", "X11", "Xfixes", "pango-1.0",
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
65 "gobject-2.0", "gmodule-2.0", "dl", "glib-2.0", "cairo",
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
66 "dwt-base" ]
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
67
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
68 end
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
69 LIBNAMES_SWT = [ BASEDIR_SWT ]
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
70 LIBNAMES_EQUINOX = [ "org.eclipse.osgi",
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
71 "org.eclipse.osgi.supplement",
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
72 "org.eclipse.equinox.common" ]
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
73
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
74 LIBNAMES_CORE = [ "org.eclipse.core.runtime",
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
75 "org.eclipse.core.commands",
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
76 "org.eclipse.core.jobs" ]
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
77
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
78 LIBNAMES_JFACE = [ "org.eclipse.jface" ]
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
79
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
80 LIBNAMES_JFACETEXT = [ "org.eclipse.text",
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
81 "org.eclipse.jface.text.projection",
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
82 "org.eclipse.jface.text", ]
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
83
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
84 LIBNAMES_UIFORMS = [ "org.eclipse.ui.forms" ]
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
85
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
86 LIBNAMES_DRAW2D = [ "org.eclipse.draw2d" ]
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
87
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
88
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
89 ##########################################################################
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
90 # Routines
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
91 #
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
92
34
a8a838017920 All JFace snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 33
diff changeset
93 def buildTree( basedir, srcdir, resdir, dcargs=nil, libname=nil )
36
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
94 if libname == nil
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
95 libname = basedir
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
96 end
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
97 puts "Building #{libname}"
1
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
98
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
99 resdir_abs = File.expand_path( File.join( basedir, resdir ))
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
100 srcdir_abs = File.expand_path( File.join( basedir, srcdir ))
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
101
28
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
102 FileUtils.mkdir_p DIMPDIR
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
103 FileUtils.mkdir_p OBJDIR
1
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
104
28
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
105 rsp = File.new( RSPNAME, "w+" )
1
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
106 rsp.puts "-H"
40
9f32c409fe27 Fix compile problem and extend rakefile
Frank Benoit <benoit@tionex.de>
parents: 36
diff changeset
107 #rsp.puts "-Hd#{DIMPDIR.to_path}"
1
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
108 rsp.puts "-I#{srcdir_abs.to_path}"
28
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
109 rsp.puts "-I#{DIMPDIR.to_path}"
1
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
110 rsp.puts "-J#{resdir_abs.to_path}"
34
a8a838017920 All JFace snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 33
diff changeset
111 if dcargs != nil
16
dbfb303e8fb0 first complete successful compile (win-only)
Frank Benoit <benoit@tionex.de>
parents: 12
diff changeset
112 rsp.puts dcargs
dbfb303e8fb0 first complete successful compile (win-only)
Frank Benoit <benoit@tionex.de>
parents: 12
diff changeset
113 end
3
4c0057e71936 Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents: 1
diff changeset
114 ALL_RESDIRS.each do | dir |
4c0057e71936 Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents: 1
diff changeset
115 rsp.puts "-J#{File.expand_path(dir).to_path}"
4c0057e71936 Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents: 1
diff changeset
116 end
1
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
117 rsp.puts "-c"
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
118 rsp.puts "-op"
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
119 Find.find( srcdir_abs ) do |path|
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
120 if path =~ /\.d$/ then
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
121 rsp.puts path.to_path
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
122 end
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
123 end
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
124 rsp.close
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
125
40
9f32c409fe27 Fix compile problem and extend rakefile
Frank Benoit <benoit@tionex.de>
parents: 36
diff changeset
126 Dir.chdir(srcdir_abs) do
25
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents: 21
diff changeset
127 if isWindows
28
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
128 cmd = "#{DMD} @#{RSPNAME.to_path}"
25
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents: 21
diff changeset
129 else
28
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
130 cmd = "cat #{RSPNAME.to_path} | xargs #{DMD}"
25
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents: 21
diff changeset
131 end
f713da8bc051 Added SWT Linux GTK
Frank Benoit <benoit@tionex.de>
parents: 21
diff changeset
132 sh cmd, :verbose => false do |ok, res|
3
4c0057e71936 Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents: 1
diff changeset
133 if !ok then
4c0057e71936 Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents: 1
diff changeset
134 Find.find( srcdir_abs ) do |path|
4c0057e71936 Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents: 1
diff changeset
135 if FileTest.file?(path) && path =~ /\.di$/ then
4c0057e71936 Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents: 1
diff changeset
136 FileUtils.rm path
4c0057e71936 Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents: 1
diff changeset
137 end
4c0057e71936 Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents: 1
diff changeset
138 end
4c0057e71936 Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents: 1
diff changeset
139
4c0057e71936 Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents: 1
diff changeset
140 raise "compile error"
4c0057e71936 Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents: 1
diff changeset
141 end
1
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
142 end
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
143 end
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
144
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
145 Find.find( srcdir_abs ) do |path|
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
146 if FileTest.file?(path) && path =~ /\.di$/ then
28
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
147 trgfile = File.join( DIMPDIR, path[ srcdir_abs.length+1 .. -1 ])
1
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
148 FileUtils.mkdir_p File.dirname(trgfile)
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
149 FileUtils.mv path, trgfile
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
150 end
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
151 end
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
152
40
9f32c409fe27 Fix compile problem and extend rakefile
Frank Benoit <benoit@tionex.de>
parents: 36
diff changeset
153 libobjs = FileList.new
1
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
154 srcdirparts = split_all( srcdir_abs ).length
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
155 Find.find( srcdir_abs ) do |path|
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
156 if FileTest.file?(path) && path =~ /\.o(bj)?$/ then
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
157 trgfile = split_all( path )[ srcdirparts .. -1 ].join( "-" )
28
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
158 FileUtils.mv path, File.join( OBJDIR, trgfile )
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
159 libobjs << File.join( OBJDIR, trgfile )
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
160 end
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
161 end
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
162
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
163 createLib( libobjs, libname )
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
164 end
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
165
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
166 def createLib( libobjs, name )
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
167 FileUtils.mkdir_p LIBDIR.to_path
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
168 rsp = File.new( RSPNAME, "w+" )
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
169 rsp.puts "-p512 -n -c #{LIBDIR}/#{name}#{LIBEXT}"
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
170 libobjs.each do |obj|
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
171 rsp.puts obj.to_path
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
172 end
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
173 rsp.close
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
174 cmd = "lib @#{RSPNAME} > #{LOG_STDOUT}"
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
175 sh cmd, :verbose => false do |ok, res|
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
176 if !ok then
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
177 raise "librarian error"
1
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
178 end
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
179 end
40
9f32c409fe27 Fix compile problem and extend rakefile
Frank Benoit <benoit@tionex.de>
parents: 36
diff changeset
180 FileUtils.rm libobjs
1
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
181
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
182 end
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
183
36
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
184 def buildApp( basedir, srcdir, resdir, dflags, appname, filelist, libnames )
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
185 if filelist == nil
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
186 filelist = FileList[ "**/#{appname}.d" ]
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
187 end
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
188
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
189 srcdir_abs = File.expand_path( File.join( basedir, srcdir))
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
190 resdir_abs = File.expand_path( File.join( basedir, resdir))
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
191
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
192 rsp = File.new( RSPNAME, "w+" )
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
193 rsp.puts "-I#{srcdir_abs.to_path}"
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
194 rsp.puts "-I#{DIMPDIR.to_path}"
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
195 rsp.puts "-J#{resdir_abs.to_path}"
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
196 if dflags.size > 0 then
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
197 rsp.puts dflags
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
198 end
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
199 ALL_RESDIRS.each do | dir |
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
200 rsp.puts "-J#{File.expand_path(dir).to_path}"
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
201 end
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
202
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
203 rsp.puts "-L/NOM"
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
204 libnames.each do | libname |
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
205 rsp.puts "-L+#{libname}#{LIBEXT}"
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
206 end
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
207 rsp.puts "-L+tango-user-dmd.lib"
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
208 rsp.puts "-L+zlib.lib"
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
209 rsp.puts "-L+dwt-base.lib"
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
210 rsp.puts "-L+#{BASEDIR_SWT}.lib"
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
211 rsp.puts "-L+#{LIBDIR.to_path}\\"
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
212
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
213 rsp.puts "-op"
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
214 rsp.puts "-od#{OBJDIR.to_path}"
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
215 applfile = File.join(BINDIR,appname+EXEEXT)
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
216 rsp.puts "-of#{applfile.to_path}"
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
217 filelist.each do |path|
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
218 rsp.puts File.expand_path(path).to_path
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
219 end
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
220 rsp.close
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
221
40
9f32c409fe27 Fix compile problem and extend rakefile
Frank Benoit <benoit@tionex.de>
parents: 36
diff changeset
222 Dir.chdir(srcdir_abs) do
36
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
223 if isWindows
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
224 cmd = "#{DMD} @#{RSPNAME.to_path}"
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
225 else
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
226 cmd = "cat #{RSPNAME.to_path} | xargs #{DMD}"
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
227 end
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
228 sh cmd, :verbose => false do |ok, res|
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
229 if !ok then
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
230 raise "compile error"
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
231 end
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
232 end
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
233 end
40
9f32c409fe27 Fix compile problem and extend rakefile
Frank Benoit <benoit@tionex.de>
parents: 36
diff changeset
234 if isWindows
9f32c409fe27 Fix compile problem and extend rakefile
Frank Benoit <benoit@tionex.de>
parents: 36
diff changeset
235 FileUtils.rm File.join(srcdir_abs,appname+MAPEXT), :force => true
9f32c409fe27 Fix compile problem and extend rakefile
Frank Benoit <benoit@tionex.de>
parents: 36
diff changeset
236 end
36
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
237
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
238 end
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
239 ##########################################################################
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
240 # Targets
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
241 #
3
4c0057e71936 Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents: 1
diff changeset
242 desc "Clean"
4c0057e71936 Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents: 1
diff changeset
243 task :clean do
20
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
244 puts "Cleaning"
3
4c0057e71936 Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents: 1
diff changeset
245 FileUtils.rm_rf DIMPDIR
4c0057e71936 Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents: 1
diff changeset
246 FileUtils.rm_rf OBJDIR
28
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
247 FileUtils.rm_rf LIBDIR
33
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
248 FileUtils.rm RSPNAME, :force => true
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
249 FileUtils.rm LOG_STDOUT, :force => true
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
250 FileUtils.rm LOG_STDERR, :force => true
3
4c0057e71936 Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents: 1
diff changeset
251 end
4c0057e71936 Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents: 1
diff changeset
252
27
1bf55a6eb092 Renamed java tree to base
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
253 desc "Build Base (Java Environment and Helpers)"
1bf55a6eb092 Renamed java tree to base
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
254 task :base do
28
69b1fa94a4a8 Added SWT snippets
Frank Benoit <benoit@tionex.de>
parents: 27
diff changeset
255 buildTree( "base", "src", "res", "", "dwt-base" )
1
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
256 end
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
257
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
258 desc "Build SWT"
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
259 task :swt do
36
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
260 buildTree( BASEDIR_SWT, "src", "res" )
34
a8a838017920 All JFace snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 33
diff changeset
261 end
1
0e8eed4cac02 add rakefile
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
262
20
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
263 desc "Build Equinox"
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
264 task :equinox do
16
dbfb303e8fb0 first complete successful compile (win-only)
Frank Benoit <benoit@tionex.de>
parents: 12
diff changeset
265 buildTree( "org.eclipse.osgi", "src", "res" )
34
a8a838017920 All JFace snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 33
diff changeset
266 buildTree( "org.eclipse.osgi", "supplement/src", "res", nil, "org.eclipse.osgi.supplement")
16
dbfb303e8fb0 first complete successful compile (win-only)
Frank Benoit <benoit@tionex.de>
parents: 12
diff changeset
267 buildTree( "org.eclipse.equinox.common", "src", "res" )
20
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
268 end
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
269
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
270 desc "Build Eclipse Core"
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
271 task :core do
16
dbfb303e8fb0 first complete successful compile (win-only)
Frank Benoit <benoit@tionex.de>
parents: 12
diff changeset
272 buildTree( "org.eclipse.core.runtime", "src", "res" )
dbfb303e8fb0 first complete successful compile (win-only)
Frank Benoit <benoit@tionex.de>
parents: 12
diff changeset
273 buildTree( "org.eclipse.core.commands", "src", "res" )
dbfb303e8fb0 first complete successful compile (win-only)
Frank Benoit <benoit@tionex.de>
parents: 12
diff changeset
274 buildTree( "org.eclipse.core.jobs", "src", "res" )
20
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
275 end
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
276
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
277 desc "Build JFace"
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
278 task :jface do
16
dbfb303e8fb0 first complete successful compile (win-only)
Frank Benoit <benoit@tionex.de>
parents: 12
diff changeset
279 buildTree( "org.eclipse.jface", "src", "res" )
21
9b96950f2c3c the 'java' tree compiles on both D1-Tango and D2-Phobos
Frank Benoit <benoit@tionex.de>
parents: 20
diff changeset
280 end
9b96950f2c3c the 'java' tree compiles on both D1-Tango and D2-Phobos
Frank Benoit <benoit@tionex.de>
parents: 20
diff changeset
281
9b96950f2c3c the 'java' tree compiles on both D1-Tango and D2-Phobos
Frank Benoit <benoit@tionex.de>
parents: 20
diff changeset
282 desc "Build JFace.Text"
9b96950f2c3c the 'java' tree compiles on both D1-Tango and D2-Phobos
Frank Benoit <benoit@tionex.de>
parents: 20
diff changeset
283 task :jfacetext do
12
bc29606a740c Added dwt-addons in original directory structure of eclipse.org
Frank Benoit <benoit@tionex.de>
parents: 8
diff changeset
284 buildTree( "org.eclipse.text", "src", "res" )
40
9f32c409fe27 Fix compile problem and extend rakefile
Frank Benoit <benoit@tionex.de>
parents: 36
diff changeset
285 buildTree( "org.eclipse.jface.text", "projection", "res", "-I../src", "org.eclipse.jface.text.projection" )
12
bc29606a740c Added dwt-addons in original directory structure of eclipse.org
Frank Benoit <benoit@tionex.de>
parents: 8
diff changeset
286 buildTree( "org.eclipse.jface.text", "src", "res" )
20
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
287 end
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
288
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
289 desc "Build UI Forms"
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
290 task :uiforms do
12
bc29606a740c Added dwt-addons in original directory structure of eclipse.org
Frank Benoit <benoit@tionex.de>
parents: 8
diff changeset
291 buildTree( "org.eclipse.ui.forms", "src", "res" )
20
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
292 end
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
293
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
294 desc "Build Draw2D"
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
295 task :draw2d do
12
bc29606a740c Added dwt-addons in original directory structure of eclipse.org
Frank Benoit <benoit@tionex.de>
parents: 8
diff changeset
296 buildTree( "org.eclipse.draw2d", "src", "res" )
3
4c0057e71936 Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents: 1
diff changeset
297 end
4c0057e71936 Made a class for StringBuffer
Frank Benoit <benoit@tionex.de>
parents: 1
diff changeset
298
20
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
299 desc "Build ALL"
27
1bf55a6eb092 Renamed java tree to base
Frank Benoit <benoit@tionex.de>
parents: 25
diff changeset
300 task :all => [ :base, :swt, :equinox, :core, :jface, :jfacetext, :uiforms,
36
d46287db17ed rakefile reorg, swt win phobosification
Frank Benoit <benoit@tionex.de>
parents: 34
diff changeset
301 :draw2d, :swtsnippets, :jfacesnippets ]
20
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
302
21
9b96950f2c3c the 'java' tree compiles on both D1-Tango and D2-Phobos
Frank Benoit <benoit@tionex.de>
parents: 20
diff changeset
303 desc "Clean, then build ALL"
20
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
304 task :default => [ :clean, :all ]
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
305
dccb717aa902 Remove more tango imports
Frank Benoit <benoit@tionex.de>
parents: 16
diff changeset
306
29
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
307 desc "Build SWT Snippet Collection"
30
93b0e7382fd5 SWT Snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 29
diff changeset
308 task :swtsnippets, :explicit_snp do | t, args |
29
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
309
34
a8a838017920 All JFace snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 33
diff changeset
310 libnames = LIBNAMES_BASIC + LIBNAMES_SWT
29
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
311 snps_browser = [ "Snippet128", "Snippet136" ]
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
312 snps_opengl = [ "Snippet174", "Snippet195" ]
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
313
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
314 snps_exclude = snps_browser + snps_opengl
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
315 allsnippets = FileList[ File.join("org.eclipse.swt.snippets", "src", "**/Snippet*.d" )]
30
93b0e7382fd5 SWT Snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 29
diff changeset
316 if args.explicit_snp != nil
40
9f32c409fe27 Fix compile problem and extend rakefile
Frank Benoit <benoit@tionex.de>
parents: 36
diff changeset
317 snpname = args.explicit_snp
9f32c409fe27 Fix compile problem and extend rakefile
Frank Benoit <benoit@tionex.de>
parents: 36
diff changeset
318 puts "Building swtsnippets[#{snpname}]"
9f32c409fe27 Fix compile problem and extend rakefile
Frank Benoit <benoit@tionex.de>
parents: 36
diff changeset
319 buildApp( "org.eclipse.swt.snippets", "src", "res", "", snpname, nil, libnames )
30
93b0e7382fd5 SWT Snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 29
diff changeset
320 else
93b0e7382fd5 SWT Snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 29
diff changeset
321 allsnippets.each do | snp |
93b0e7382fd5 SWT Snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 29
diff changeset
322 if snp =~ /.*(Snippet\w+)\.d$/
93b0e7382fd5 SWT Snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 29
diff changeset
323 snpname = $1
40
9f32c409fe27 Fix compile problem and extend rakefile
Frank Benoit <benoit@tionex.de>
parents: 36
diff changeset
324 puts "Building swtsnippets[#{snpname}]"
30
93b0e7382fd5 SWT Snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 29
diff changeset
325 if !snps_exclude.include? snpname
34
a8a838017920 All JFace snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 33
diff changeset
326 buildApp( "org.eclipse.swt.snippets", "src", "res", "", snpname, nil, libnames )
30
93b0e7382fd5 SWT Snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 29
diff changeset
327 end
93b0e7382fd5 SWT Snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 29
diff changeset
328 else
40
9f32c409fe27 Fix compile problem and extend rakefile
Frank Benoit <benoit@tionex.de>
parents: 36
diff changeset
329 raise "Name does not match #{snp}"
29
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
330 end
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
331 end
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
332 end
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
333 end
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
334
33
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
335 desc "Build JFace Snippet Collection"
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
336 task :jfacesnippets, :explicit_snp do | t, args |
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
337
34
a8a838017920 All JFace snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 33
diff changeset
338 libnames = LIBNAMES_BASIC + LIBNAMES_SWT + LIBNAMES_EQUINOX + LIBNAMES_CORE + LIBNAMES_JFACE
33
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
339 snps_exclude = []
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
340 allsnippets = FileList[ File.join("org.eclipse.jface.snippets", "EclipseJfaceSnippets", "**/*.d" )]
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
341 if args.explicit_snp != nil
40
9f32c409fe27 Fix compile problem and extend rakefile
Frank Benoit <benoit@tionex.de>
parents: 36
diff changeset
342 snpname = args.explicit_snp
9f32c409fe27 Fix compile problem and extend rakefile
Frank Benoit <benoit@tionex.de>
parents: 36
diff changeset
343 puts "Building jfacesnippets[#{snpname}]"
34
a8a838017920 All JFace snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 33
diff changeset
344 buildApp( "org.eclipse.jface.snippets", "src", "res", "", args.explicit_snp, nil, libnames )
33
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
345 else
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
346 allsnippets.each do | snp |
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
347 if snp =~ /.*[\\\/](\w+)\.d$/
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
348 snpname = $1
40
9f32c409fe27 Fix compile problem and extend rakefile
Frank Benoit <benoit@tionex.de>
parents: 36
diff changeset
349 puts "Building jfacesnippets[#{snpname}]"
33
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
350 if !snps_exclude.include? snpname
34
a8a838017920 All JFace snippets build on windows
Frank Benoit <benoit@tionex.de>
parents: 33
diff changeset
351 buildApp( "org.eclipse.jface.snippets", "src", "res", "", snpname, nil, libnames )
33
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
352 end
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
353 else
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
354 puts snp
40
9f32c409fe27 Fix compile problem and extend rakefile
Frank Benoit <benoit@tionex.de>
parents: 36
diff changeset
355 raise "Name does not match #{snp}"
33
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
356 end
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
357 end
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
358 end
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
359 end
712f3c7f7660 make clean work without require existing files
Frank Benoit <benoit@tionex.de>
parents: 30
diff changeset
360
29
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
361
4e5843b771cc First snippets buildable on windows
Frank Benoit <benoit@tionex.de>
parents: 28
diff changeset
362