greensock-rails 1.11.5.0 → 1.11.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (54) hide show
  1. checksums.yaml +4 -4
  2. data/lib/greensock/rails/version.rb +1 -1
  3. data/vendor/assets/javascripts/greensock/TimelineLite.js +6 -6
  4. data/vendor/assets/javascripts/greensock/TimelineMax.js +10 -10
  5. data/vendor/assets/javascripts/greensock/TweenLite.js +13 -10
  6. data/vendor/assets/javascripts/greensock/TweenMax.js +56 -31
  7. data/vendor/assets/javascripts/greensock/plugins/BezierPlugin.js +9 -3
  8. data/vendor/assets/javascripts/greensock/plugins/CSSPlugin.js +23 -10
  9. data/vendor/assets/javascripts/greensock/utils/Draggable.js +14 -4
  10. data/vendor/bundle/cache/rake-10.2.2.gem +0 -0
  11. data/vendor/bundle/gems/rake-10.2.2/doc/command_line_usage.rdoc +158 -0
  12. data/vendor/bundle/gems/rake-10.2.2/doc/example/Rakefile1 +38 -0
  13. data/vendor/bundle/gems/rake-10.2.2/doc/example/Rakefile2 +35 -0
  14. data/vendor/bundle/gems/rake-10.2.2/doc/example/a.c +6 -0
  15. data/vendor/bundle/gems/rake-10.2.2/doc/example/b.c +6 -0
  16. data/vendor/bundle/gems/rake-10.2.2/doc/example/main.c +11 -0
  17. data/vendor/bundle/gems/rake-10.2.2/doc/glossary.rdoc +51 -0
  18. data/vendor/bundle/gems/rake-10.2.2/doc/jamis.rb +591 -0
  19. data/vendor/bundle/gems/rake-10.2.2/doc/proto_rake.rdoc +127 -0
  20. data/vendor/bundle/gems/rake-10.2.2/doc/rake.1.gz +0 -0
  21. data/vendor/bundle/gems/rake-10.2.2/doc/rakefile.rdoc +653 -0
  22. data/vendor/bundle/gems/rake-10.2.2/doc/rational.rdoc +151 -0
  23. data/vendor/bundle/gems/rake-10.2.2/doc/release_notes/rake-0.4.14.rdoc +23 -0
  24. data/vendor/bundle/gems/rake-10.2.2/doc/release_notes/rake-0.4.15.rdoc +35 -0
  25. data/vendor/bundle/gems/rake-10.2.2/doc/release_notes/rake-0.5.0.rdoc +53 -0
  26. data/vendor/bundle/gems/rake-10.2.2/doc/release_notes/rake-0.5.3.rdoc +78 -0
  27. data/vendor/bundle/gems/rake-10.2.2/doc/release_notes/rake-0.5.4.rdoc +46 -0
  28. data/vendor/bundle/gems/rake-10.2.2/doc/release_notes/rake-0.6.0.rdoc +141 -0
  29. data/vendor/bundle/gems/rake-10.2.2/doc/release_notes/rake-0.7.0.rdoc +119 -0
  30. data/vendor/bundle/gems/rake-10.2.2/doc/release_notes/rake-0.7.1.rdoc +59 -0
  31. data/vendor/bundle/gems/rake-10.2.2/doc/release_notes/rake-0.7.2.rdoc +121 -0
  32. data/vendor/bundle/gems/rake-10.2.2/doc/release_notes/rake-0.7.3.rdoc +47 -0
  33. data/vendor/bundle/gems/rake-10.2.2/doc/release_notes/rake-0.8.0.rdoc +114 -0
  34. data/vendor/bundle/gems/rake-10.2.2/doc/release_notes/rake-0.8.2.rdoc +165 -0
  35. data/vendor/bundle/gems/rake-10.2.2/doc/release_notes/rake-0.8.3.rdoc +112 -0
  36. data/vendor/bundle/gems/rake-10.2.2/doc/release_notes/rake-0.8.4.rdoc +147 -0
  37. data/vendor/bundle/gems/rake-10.2.2/doc/release_notes/rake-0.8.5.rdoc +53 -0
  38. data/vendor/bundle/gems/rake-10.2.2/doc/release_notes/rake-0.8.6.rdoc +37 -0
  39. data/vendor/bundle/gems/rake-10.2.2/doc/release_notes/rake-0.8.7.rdoc +55 -0
  40. data/vendor/bundle/gems/rake-10.2.2/doc/release_notes/rake-0.9.0.rdoc +112 -0
  41. data/vendor/bundle/gems/rake-10.2.2/doc/release_notes/rake-0.9.1.rdoc +52 -0
  42. data/vendor/bundle/gems/rake-10.2.2/doc/release_notes/rake-0.9.2.2.rdoc +55 -0
  43. data/vendor/bundle/gems/rake-10.2.2/doc/release_notes/rake-0.9.2.rdoc +49 -0
  44. data/vendor/bundle/gems/rake-10.2.2/doc/release_notes/rake-0.9.3.rdoc +102 -0
  45. data/vendor/bundle/gems/rake-10.2.2/doc/release_notes/rake-0.9.4.rdoc +60 -0
  46. data/vendor/bundle/gems/rake-10.2.2/doc/release_notes/rake-0.9.5.rdoc +55 -0
  47. data/vendor/bundle/gems/rake-10.2.2/doc/release_notes/rake-0.9.6.rdoc +64 -0
  48. data/vendor/bundle/gems/rake-10.2.2/doc/release_notes/rake-10.0.0.rdoc +178 -0
  49. data/vendor/bundle/gems/rake-10.2.2/doc/release_notes/rake-10.0.1.rdoc +58 -0
  50. data/vendor/bundle/gems/rake-10.2.2/doc/release_notes/rake-10.0.2.rdoc +53 -0
  51. data/vendor/bundle/gems/rake-10.2.2/doc/release_notes/rake-10.0.3.rdoc +191 -0
  52. data/vendor/bundle/gems/rake-10.2.2/doc/release_notes/rake-10.1.0.rdoc +61 -0
  53. data/vendor/cache/rake-10.2.2.gem +0 -0
  54. metadata +46 -2
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * VERSION: beta 1.3.0
3
- * DATE: 2013-10-21
2
+ * VERSION: beta 1.3.1
3
+ * DATE: 2014-03-26
4
4
  * UPDATES AND DOCS AT: http://www.greensock.com
5
5
  *
6
6
  * @license Copyright (c) 2008-2014, GreenSock. All rights reserved.
@@ -306,6 +306,7 @@
306
306
  BezierPlugin = window._gsDefine.plugin({
307
307
  propName: "bezier",
308
308
  priority: -1,
309
+ version: "1.3.1",
309
310
  API: 2,
310
311
  global:true,
311
312
 
@@ -357,6 +358,7 @@
357
358
  }
358
359
 
359
360
  if ((autoRotate = this._autoRotate)) {
361
+ this._initialRotations = [];
360
362
  if (!(autoRotate[0] instanceof Array)) {
361
363
  this._autoRotate = autoRotate = [autoRotate];
362
364
  }
@@ -366,8 +368,11 @@
366
368
  p = autoRotate[i][j];
367
369
  this._func[p] = (typeof(target[p]) === "function") ? target[ ((p.indexOf("set") || typeof(target["get" + p.substr(3)]) !== "function") ? p : "get" + p.substr(3)) ] : false;
368
370
  }
371
+ p = autoRotate[i][2];
372
+ this._initialRotations[i] = this._func[p] ? this._func[p].call(this._target) : this._target[p];
369
373
  }
370
374
  }
375
+ this._startRatio = tween.vars.runBackwards ? 1 : 0; //we determine the starting ratio when the tween inits which is always 0 unless the tween has runBackwards:true (indicating it's a from() tween) in which case it's 1.
371
376
  return true;
372
377
  },
373
378
 
@@ -376,6 +381,7 @@
376
381
  var segments = this._segCount,
377
382
  func = this._func,
378
383
  target = this._target,
384
+ notStart = (v !== this._startRatio),
379
385
  curIndex, inv, i, p, b, t, val, l, lengths, curSeg;
380
386
  if (!this._timeRes) {
381
387
  curIndex = (v < 0) ? 0 : (v >= 1) ? segments - 1 : (segments * v) >> 0;
@@ -469,7 +475,7 @@
469
475
  y1 += (y2 - y1) * t;
470
476
  y2 += ((b2.c + (b2.d - b2.c) * t) - y2) * t;
471
477
 
472
- val = Math.atan2(y2 - y1, x2 - x1) * conv + add;
478
+ val = notStart ? Math.atan2(y2 - y1, x2 - x1) * conv + add : this._initialRotations[i];
473
479
 
474
480
  if (func[p]) {
475
481
  target[p](val);
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * VERSION: 1.11.5
3
- * DATE: 2014-02-20
2
+ * VERSION: 1.11.6
3
+ * DATE: 2014-03-26
4
4
  * UPDATES AND DOCS AT: http://www.greensock.com
5
5
  *
6
6
  * @license Copyright (c) 2008-2014, GreenSock. All rights reserved.
@@ -29,9 +29,10 @@
29
29
  p = CSSPlugin.prototype = new TweenPlugin("css");
30
30
 
31
31
  p.constructor = CSSPlugin;
32
- CSSPlugin.version = "1.11.5";
32
+ CSSPlugin.version = "1.11.6";
33
33
  CSSPlugin.API = 2;
34
34
  CSSPlugin.defaultTransformPerspective = 0;
35
+ CSSPlugin.defaultSkewType = "compensated";
35
36
  p = "px"; //we'll reuse the "p" variable to keep file size down
36
37
  CSSPlugin.suffixMap = {top:p, right:p, bottom:p, left:p, width:p, height:p, fontSize:p, padding:p, margin:p, perspective:p, lineHeight:""};
37
38
 
@@ -153,7 +154,7 @@
153
154
  * @param {boolean=} recurse If true, the call is a recursive one. In some browsers (like IE7/8), occasionally the value isn't accurately reported initially, but if we run the function again it will take effect.
154
155
  * @return {number} value in pixels
155
156
  */
156
- _convertToPixels = function(t, p, v, sfx, recurse) {
157
+ _convertToPixels = _internals.convertToPixels = function(t, p, v, sfx, recurse) {
157
158
  if (sfx === "px" || !sfx) { return v; }
158
159
  if (sfx === "auto" || !v) { return 0; }
159
160
  var horiz = _horizExp.test(p),
@@ -183,7 +184,7 @@
183
184
  }
184
185
  return neg ? -pix : pix;
185
186
  },
186
- _calculateOffset = function(t, p, cs) { //for figuring out "top" or "left" in px when it's "auto". We need to factor in margin with the offsetLeft/offsetTop
187
+ _calculateOffset = _internals.calculateOffset = function(t, p, cs) { //for figuring out "top" or "left" in px when it's "auto". We need to factor in margin with the offsetLeft/offsetTop
187
188
  if (_getStyle(t, "position", cs) !== "absolute") { return 0; }
188
189
  var dim = ((p === "left") ? "Left" : "Top"),
189
190
  v = _getStyle(t, "margin" + dim, cs);
@@ -1042,6 +1043,9 @@
1042
1043
  _transformPropCSS = _prefixCSS + "transform",
1043
1044
  _transformOriginProp = _checkPropPrefix("transformOrigin"),
1044
1045
  _supports3D = (_checkPropPrefix("perspective") !== null),
1046
+ Transform = _internals.Transform = function() {
1047
+ this.skewY = 0;
1048
+ },
1045
1049
 
1046
1050
  /**
1047
1051
  * Parses the transform values for an element, returning an object with x, y, z, scaleX, scaleY, scaleZ, rotation, rotationX, rotationY, skewX, and skewY properties. Note: by default (for performance reasons), all skewing is combined into skewX and rotation but skewY still has a place in the transform object so that we can record how much of the skew is attributed to skewX vs skewY. Remember, a skewY of 10 looks the same as a rotation of 10 and skewX of -10.
@@ -1051,11 +1055,11 @@
1051
1055
  * @param {boolean=} parse if true, we'll ignore any _gsTransform values that already exist on the element, and force a reparsing of the css (calculated style)
1052
1056
  * @return {object} object containing all of the transform properties/values like {x:0, y:0, z:0, scaleX:1...}
1053
1057
  */
1054
- _getTransform = function(t, cs, rec, parse) {
1058
+ _getTransform = _internals.getTransform = function(t, cs, rec, parse) {
1055
1059
  if (t._gsTransform && rec && !parse) {
1056
1060
  return t._gsTransform; //if the element already has a _gsTransform, use that. Note: some browsers don't accurately return the calculated style for the transform (particularly for SVG), so it's almost always safest to just use the values we've already applied rather than re-parsing things.
1057
1061
  }
1058
- var tm = rec ? t._gsTransform || {skewY:0} : {skewY:0},
1062
+ var tm = rec ? t._gsTransform || new Transform() : new Transform(),
1059
1063
  invX = (tm.scaleX < 0), //in order to interpret things properly, we need to know if the user applied a negative scaleX previously so that we can adjust the rotation and skewX accordingly. Otherwise, if we always interpret a flipped matrix as affecting scaleY and the user only wants to tween the scaleX on multiple sequential tweens, it would keep the negative scaleY without that being the user's intent.
1060
1064
  min = 0.00002,
1061
1065
  rnd = 100000,
@@ -1297,7 +1301,7 @@
1297
1301
  }
1298
1302
  },
1299
1303
 
1300
- _set3DTransformRatio = function(v) {
1304
+ _set3DTransformRatio = _internals.set3DTransformRatio = function(v) {
1301
1305
  var t = this.data, //refers to the element's _gsTransform object
1302
1306
  style = this.t.style,
1303
1307
  angle = t.rotation * _DEG2RAD,
@@ -1328,9 +1332,16 @@
1328
1332
  angle -= t.skewX * _DEG2RAD;
1329
1333
  cos = Math.cos(angle);
1330
1334
  sin = Math.sin(angle);
1335
+ if (t.skewType === "simple") { //by default, we compensate skewing on the other axis to make it look more natural, but you can set the skewType to "simple" to use the uncompensated skewing that CSS does
1336
+ t1 = Math.tan(t.skewX * _DEG2RAD);
1337
+ t1 = Math.sqrt(1 + t1 * t1);
1338
+ cos *= t1;
1339
+ sin *= t1;
1340
+ }
1331
1341
  }
1332
1342
  a12 = -sin;
1333
1343
  a22 = cos;
1344
+
1334
1345
  } else if (!t.rotationY && !t.rotationX && sz === 1 && !perspective) { //if we're only translating and/or 2D scaling, this is faster...
1335
1346
  style[_transformProp] = "translate3d(" + t.x + "px," + t.y + "px," + t.z +"px)" + ((sx !== 1 || sy !== 1) ? " scale(" + sx + "," + sy + ")" : "");
1336
1347
  return;
@@ -1404,7 +1415,7 @@
1404
1415
  style[_transformProp] = "matrix3d(" + [ (((a11 * rnd) | 0) / rnd), (((a21 * rnd) | 0) / rnd), (((a31 * rnd) | 0) / rnd), (((a41 * rnd) | 0) / rnd), (((a12 * rnd) | 0) / rnd), (((a22 * rnd) | 0) / rnd), (((a32 * rnd) | 0) / rnd), (((a42 * rnd) | 0) / rnd), (((a13 * rnd) | 0) / rnd), (((a23 * rnd) | 0) / rnd), (((a33 * rnd) | 0) / rnd), (((a43 * rnd) | 0) / rnd), a14, a24, a34, (perspective ? (1 + (-a34 / perspective)) : 1) ].join(",") + ")";
1405
1416
  },
1406
1417
 
1407
- _set2DTransformRatio = function(v) {
1418
+ _set2DTransformRatio = _internals.set2DTransformRatio = function(v) {
1408
1419
  var t = this.data, //refers to the element's _gsTransform object
1409
1420
  targ = this.t,
1410
1421
  style = targ.style,
@@ -1427,7 +1438,7 @@
1427
1438
  }
1428
1439
  };
1429
1440
 
1430
- _registerComplexSpecialProp("transform,scale,scaleX,scaleY,scaleZ,x,y,z,rotation,rotationX,rotationY,rotationZ,skewX,skewY,shortRotation,shortRotationX,shortRotationY,shortRotationZ,transformOrigin,transformPerspective,directionalRotation,parseTransform,force3D", {parser:function(t, e, p, cssp, pt, plugin, vars) {
1441
+ _registerComplexSpecialProp("transform,scale,scaleX,scaleY,scaleZ,x,y,z,rotation,rotationX,rotationY,rotationZ,skewX,skewY,shortRotation,shortRotationX,shortRotationY,shortRotationZ,transformOrigin,transformPerspective,directionalRotation,parseTransform,force3D,skewType", {parser:function(t, e, p, cssp, pt, plugin, vars) {
1431
1442
  if (cssp._transform) { return pt; } //only need to parse the transform once, and only if the browser supports it.
1432
1443
  var m1 = cssp._transform = _getTransform(t, _cs, true, vars.parseTransform),
1433
1444
  style = t.style,
@@ -1481,6 +1492,8 @@
1481
1492
  hasChange = true;
1482
1493
  }
1483
1494
 
1495
+ m1.skewType = v.skewType || m1.skewType || CSSPlugin.defaultSkewType;
1496
+
1484
1497
  has3D = (m1.force3D || m1.z || m1.rotationX || m1.rotationY || m2.z || m2.rotationX || m2.rotationY || m2.perspective);
1485
1498
  if (!has3D && v.scale != null) {
1486
1499
  m2.scaleZ = 1; //no need to tween scaleZ.
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * VERSION: 0.10.0
3
- * DATE: 2014-02-20
2
+ * VERSION: 0.10.1
3
+ * DATE: 2014-03-26
4
4
  * UPDATES AND DOCS AT: http://www.greensock.com
5
5
  *
6
6
  * Requires TweenLite and CSSPlugin version 1.11.0 or later (TweenMax contains both TweenLite and CSSPlugin). ThrowPropsPlugin is required for momentum-based continuation of movement after the mouse/touch is released (ThrowPropsPlugin is a membership benefit of Club GreenSock - http://www.greensock.com/club/).
@@ -787,9 +787,15 @@
787
787
  syncXY = function(skipOnUpdate, skipSnap) {
788
788
  var snappedValue;
789
789
  if (xyMode) {
790
+ if (!target._gsTransform) { //just in case the _gsTransform got wiped, like if the user called clearProps on the transform or something (very rare), doing an x tween forces a re-parsing of the transforms and population of the _gsTransform.
791
+ TweenLite.set(target, {x:"+=0"});
792
+ }
790
793
  self.y = target._gsTransform.y;
791
794
  self.x = target._gsTransform.x;
792
795
  } else if (rotationMode) {
796
+ if (!target._gsTransform) { //just in case the _gsTransform got wiped, like if the user called clearProps on the transform or something (very rare), doing an x tween forces a re-parsing of the transforms and population of the _gsTransform.
797
+ TweenLite.set(target, {x:"+=0"});
798
+ }
793
799
  self.x = self.rotation = target._gsTransform.rotation;
794
800
  } else if (scrollProxy) {
795
801
  self.y = scrollProxy.top();
@@ -1256,7 +1262,11 @@
1256
1262
 
1257
1263
  onClick = function(e) {
1258
1264
  if (self.isPressed || _getTime() - dragEndTime < 20) {
1259
- e.preventDefault();
1265
+ if (e.preventDefault) {
1266
+ e.preventDefault();
1267
+ } else {
1268
+ e.returnValue = false;
1269
+ }
1260
1270
  if (e.preventManipulation) {
1261
1271
  e.preventManipulation(); //for some Microsoft browsers
1262
1272
  }
@@ -1446,7 +1456,7 @@
1446
1456
  p.constructor = Draggable;
1447
1457
  p.pointerX = p.pointerY = 0;
1448
1458
  p.isDragging = p.isPressed = false;
1449
- Draggable.version = "0.10.0";
1459
+ Draggable.version = "0.10.1";
1450
1460
  Draggable.zIndex = 1000;
1451
1461
 
1452
1462
  _addListener(_doc, "touchcancel", function() {
@@ -0,0 +1,158 @@
1
+ = Rake Command Line Usage
2
+
3
+ Rake is invoked from the command line using:
4
+
5
+ % rake [options ...] [VAR=VALUE ...] [targets ...]
6
+
7
+ Options are:
8
+
9
+ [<tt><em>name</em>=<em>value</em></tt>]
10
+ Set the environment variable <em>name</em> to <em>value</em>
11
+ during the execution of the <b>rake</b> command. You can access
12
+ the value by using ENV['<em>name</em>'].
13
+
14
+ [<tt>--all</tt> (-A)]
15
+ Used in combination with the -T and -D options, will force
16
+ those options to show all the tasks, even the ones without comments.
17
+
18
+ [<tt>--backtrace</tt>{=_output_} (-n)]
19
+ Enable a full backtrace (i.e. like --trace, but without the task
20
+ tracing details). The _output_ parameter is optional, but if
21
+ specified it controls where the backtrace output is sent. If
22
+ _output_ is <tt>stdout</tt>, then backtrace output is directed to
23
+ stardard output. If _output_ is <tt>stderr</tt>, or if it is
24
+ missing, then the backtrace output is sent to standard error.
25
+
26
+ [<tt>--comments</tt>]
27
+ Used in combination with the -W options to force the output to
28
+ contain commented options only. This is the reverse of
29
+ <tt>--all</tt>.
30
+
31
+ [<tt>--describe</tt> _pattern_ (-D)]
32
+ Describe the tasks (matching optional PATTERN), then exit.
33
+
34
+ [<tt>--dry-run</tt> (-n)]
35
+ Do a dry run. Print the tasks invoked and executed, but do not
36
+ actually execute any of the actions.
37
+
38
+ [<tt>--execute</tt> _code_ (-e)]
39
+ Execute some Ruby code and exit.
40
+
41
+ [<tt>--execute-print</tt> _code_ (-p)]
42
+ Execute some Ruby code, print the result, and exit.
43
+
44
+ [<tt>--execute-continue</tt> _code_ (-E)]
45
+ Execute some Ruby code, then continue with normal task processing.
46
+
47
+ [<tt>--help</tt> (-H)]
48
+ Display some help text and exit.
49
+
50
+ [<tt>--jobs</tt> _number_ (-j)]
51
+
52
+ Specifies the maximun number of concurrent threads allowed. Rake
53
+ will allocate threads as needed up to this maximum number.
54
+
55
+ If omitted, Rake will attempt to estimate the number of CPUs on
56
+ the system and add 4 to that number.
57
+
58
+ The concurrent threads are used to execute the <tt>multitask</tt>
59
+ prerequisites. Also see the <tt>-m</tt> option which turns all
60
+ tasks into multitasks.
61
+
62
+ Sample values:
63
+ (no -j) : Allow up to (# of CPUs + 4) number of threads
64
+ --jobs : Allow unlimited number of threads
65
+ --jobs=1 : Allow only one thread (the main thread)
66
+ --jobs=16 : Allow up to 16 concurrent threads
67
+
68
+ [<tt>--job-stats</tt> _level_]
69
+
70
+ Display job statistics at the completion of the run. By default,
71
+ this will display the requested number of active threads (from the
72
+ -j options) and the maximum number of threads in play at any given
73
+ time.
74
+
75
+ If the optional _level_ is <tt>history</tt>, then a complete trace
76
+ of task history will be displayed on standard output.
77
+
78
+ [<tt>--libdir</tt> _directory_ (-I)]
79
+ Add _directory_ to the list of directories searched for require.
80
+
81
+ [<tt>--multitask</tt> (-m)]
82
+ Treat all tasks as multitasks. ('make/drake' semantics)
83
+
84
+ [<tt>--nosearch</tt> (-N)]
85
+ Do not search for a Rakefile in parent directories.
86
+
87
+ [<tt>--prereqs</tt> (-P)]
88
+ Display a list of all tasks and their immediate prerequisites.
89
+
90
+ [<tt>--quiet</tt> (-q)]
91
+ Do not echo commands from FileUtils.
92
+
93
+ [<tt>--rakefile</tt> _filename_ (-f)]
94
+ Use _filename_ as the name of the rakefile. The default rakefile
95
+ names are +rakefile+ and +Rakefile+ (with +rakefile+ taking
96
+ precedence). If the rakefile is not found in the current
97
+ directory, +rake+ will search parent directories for a match. The
98
+ directory where the Rakefile is found will become the current
99
+ directory for the actions executed in the Rakefile.
100
+
101
+ [<tt>--rakelibdir</tt> _rakelibdir_ (-R)]
102
+ Auto-import any .rake files in RAKELIBDIR. (default is 'rakelib')
103
+
104
+ [<tt>--require</tt> _name_ (-r)]
105
+ Require _name_ before executing the Rakefile.
106
+
107
+ [<tt>--rules</tt>]
108
+ Trace the rules resolution.
109
+
110
+ [<tt>--silent (-s)</tt>]
111
+ Like --quiet, but also suppresses the 'in directory' announcement.
112
+
113
+ [<tt>--suppress-backtrace _pattern_ </tt>]
114
+ Line matching the regular expression _pattern_ will be removed
115
+ from the backtrace output. Note that the --backtrace option is the
116
+ full backtrace without these lines suppressed.
117
+
118
+ [<tt>--system</tt> (-g)]
119
+ Use the system wide (global) rakefiles. The project Rakefile is
120
+ ignored. By default, the system wide rakefiles are used only if no
121
+ project Rakefile is found. On Unix-like system, the system wide
122
+ rake files are located in $HOME/.rake. On a windows system they
123
+ are stored in $APPDATA/Rake.
124
+
125
+ [<tt>--no-system</tt> (-G)]
126
+ Use the project level Rakefile, ignoring the system-wide (global)
127
+ rakefiles.
128
+
129
+ [<tt>--tasks</tt> <em>pattern</em> (-T)]
130
+ Display a list of the major tasks and their comments. Comments
131
+ are defined using the "desc" command. If a pattern is given, then
132
+ only tasks matching the pattern are displayed.
133
+
134
+ [<tt>--trace</tt>{=_output_} (-t)]
135
+ Turn on invoke/execute tracing. Also enable full backtrace on
136
+ errors. The _output_ parameter is optional, but if specified it
137
+ controls where the trace output is sent. If _output_ is
138
+ <tt>stdout</tt>, then trace output is directed to stardard output.
139
+ If _output_ is <tt>stderr</tt>, or if it is missing, then trace
140
+ output is sent to standard error.
141
+
142
+ [<tt>--verbose</tt> (-v)]
143
+ Echo the Sys commands to standard output.
144
+
145
+ [<tt>--version</tt> (-V)]
146
+ Display the program version and exit.
147
+
148
+ [<tt>--where</tt> <em>pattern</em> (-W)]
149
+ Display tasks that match <em>pattern</em> and the file and line
150
+ number where the task is defined. By default this option will
151
+ display all tasks, not just the tasks that have descriptions.
152
+
153
+ [<tt>--no-deprecation-warnings</tt> (-X)]
154
+ Do not display the deprecation warnings.
155
+
156
+ In addition, any command line option of the form
157
+ <em>VAR</em>=<em>VALUE</em> will be added to the environment hash
158
+ <tt>ENV</tt> and may be tested in the Rakefile.
@@ -0,0 +1,38 @@
1
+ # Example Rakefile -*- ruby -*-
2
+
3
+ task :default => [:main]
4
+
5
+ file "a.o" => ["a.c"] do |t|
6
+ src = t.name.sub(/\.o$/, '.c')
7
+ sh "gcc #{src} -c -o #{t.name}"
8
+ end
9
+
10
+ file "b.o" => ["b.c"] do |t|
11
+ src = t.name.sub(/\.o$/, '.c')
12
+ sh "gcc #{src} -c -o #{t.name}"
13
+ end
14
+
15
+ file "main.o" => ["main.c"] do |t|
16
+ src = t.name.sub(/\.o$/, '.c')
17
+ sh "gcc #{src} -c -o #{t.name}"
18
+ end
19
+
20
+ OBJFILES = ["a.o", "b.o", "main.o"]
21
+ task :obj => OBJFILES
22
+
23
+ file "main" => OBJFILES do |t|
24
+ sh "gcc -o #{t.name} main.o a.o b.o"
25
+ end
26
+
27
+ task :clean do
28
+ rm_f FileList['*.o']
29
+ Dir['*~'].each { |fn| rm_f fn }
30
+ end
31
+
32
+ task :clobber => [:clean] do
33
+ rm_f "main"
34
+ end
35
+
36
+ task :run => ["main"] do
37
+ sh "./main"
38
+ end
@@ -0,0 +1,35 @@
1
+ # Example Rakefile -*- ruby -*-
2
+ # Using the power of Ruby
3
+
4
+ task :default => [:main]
5
+
6
+ def ext(fn, newext)
7
+ fn.sub(/\.[^.]+$/, newext)
8
+ end
9
+
10
+ SRCFILES = Dir['*.c']
11
+ OBJFILES = SRCFILES.collect { |fn| ext(fn,".o") }
12
+
13
+ OBJFILES.each do |objfile|
14
+ srcfile = ext(objfile, ".c")
15
+ file objfile => [srcfile] do |t|
16
+ sh "gcc #{srcfile} -c -o #{t.name}"
17
+ end
18
+ end
19
+
20
+ file "main" => OBJFILES do |t|
21
+ sh "gcc -o #{t.name} main.o a.o b.o"
22
+ end
23
+
24
+ task :clean do
25
+ rm_f FileList['*.o']
26
+ Dir['*~'].each { |fn| rm_f fn }
27
+ end
28
+
29
+ task :clobber => [:clean] do
30
+ rm_f "main"
31
+ end
32
+
33
+ task :run => ["main"] do
34
+ sh "./main"
35
+ end
@@ -0,0 +1,6 @@
1
+ #include <stdio.h>
2
+
3
+ void a()
4
+ {
5
+ printf ("In function a\n");
6
+ }