annotate rakefile @ 36:d46287db17ed

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