win32-taskscheduler 0.4.1 → 1.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/CHANGELOG.md +143 -126
- data/Gemfile +2 -2
- data/MANIFEST +10 -10
- data/README.md +78 -0
- data/RELEASE_NOTES.md +14 -14
- data/Rakefile +33 -33
- data/VERSION +1 -0
- data/certs/djberg96_pub.pem +21 -21
- data/examples/taskscheduler_example.rb +56 -56
- data/lib/win32-taskscheduler.rb +1 -1
- data/lib/win32/taskscheduler.rb +1361 -1325
- data/lib/win32/taskscheduler/version.rb +6 -0
- data/lib/win32/windows/constants.rb +260 -260
- data/lib/win32/windows/helper.rb +45 -45
- data/lib/win32/windows/time_calc_helper.rb +130 -130
- data/spec/spec_helper.rb +1 -1
- data/spec/win32/windows/time_calc_helper_spec.rb +392 -392
- data/test/test_taskscheduler.rb +690 -690
- data/win32-taskscheduler.gemspec +35 -34
- metadata +14 -21
- data/README +0 -73
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 172397962621f9f6b292f086e64d849feb48a43f52e93beb70e0bbc966bb0b31
|
4
|
+
data.tar.gz: bc1c199304f78f12f7b5a50b00c0b41273a4ecc990e0e1772c6bef37954429f5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 68d08019224864d016bc01959287600923f5e452d3b44fe08722d5785d6bc95f966b5f9d6b17ddbd1e1a22bba393b108086363bd91aa37d5821dd497b3cb9ed0
|
7
|
+
data.tar.gz: 716004b5d40cbbb80a0036213411947644f54f2753fbb821937c043f34f596f3311976cf57f5a6521f1e97b4a6d26053a7b4f8c840eaae6192ef2b1ead1ab584
|
data/CHANGELOG.md
CHANGED
@@ -1,126 +1,143 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
- Fix
|
17
|
-
- Fix for
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
-
|
23
|
-
|
24
|
-
-
|
25
|
-
- Added the
|
26
|
-
- Added
|
27
|
-
-
|
28
|
-
- Added
|
29
|
-
-
|
30
|
-
-
|
31
|
-
-
|
32
|
-
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
-
|
43
|
-
|
44
|
-
-
|
45
|
-
|
46
|
-
|
47
|
-
-
|
48
|
-
-
|
49
|
-
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
-
|
66
|
-
|
67
|
-
|
68
|
-
-
|
69
|
-
|
70
|
-
|
71
|
-
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
## [v0.2.
|
77
|
-
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
- The
|
83
|
-
|
84
|
-
|
85
|
-
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
-
|
95
|
-
-
|
96
|
-
|
97
|
-
- Added
|
98
|
-
- Added
|
99
|
-
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
-
|
104
|
-
|
105
|
-
|
106
|
-
-
|
107
|
-
|
108
|
-
|
109
|
-
-
|
110
|
-
|
111
|
-
|
112
|
-
-
|
113
|
-
|
114
|
-
-
|
115
|
-
|
116
|
-
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
-
|
122
|
-
-
|
123
|
-
|
124
|
-
|
125
|
-
## [v0.0.
|
126
|
-
-
|
1
|
+
# win32-taskscheduler change log
|
2
|
+
|
3
|
+
Note: this log contains only changes from win32-taskscheduler release 0.4.1 and later
|
4
|
+
-- it does not contain the changes from prior releases. To view change history
|
5
|
+
prior to release 0.4.1, please visit the [source repository](https://github.com/chef/win32-taskscheduler/commits).
|
6
|
+
|
7
|
+
<!-- latest_release -->
|
8
|
+
<!-- latest_release -->
|
9
|
+
|
10
|
+
<!-- release_rollup -->
|
11
|
+
<!-- release_rollup -->
|
12
|
+
|
13
|
+
<!-- latest_stable_release -->
|
14
|
+
|
15
|
+
## [v0.4.1](https://github.com/chef/win32-taskscheduler/tree/win32-taskscheduler-0.4.1) (15-May-2018)
|
16
|
+
- Fix the issue of "no mapping" while creating Windows task for SYSTEM USERS. [#30](https://github.com/chef/win32-taskscheduler/pull/30) ([#NAshwini](https://github.com/NAshwini))
|
17
|
+
- Fix for not to set start time if not set if its 0000-00-00T00:00:00 [#29][(https://github.com/chef/win32-taskscheduler/pull/29) ([#Vasu1105](https://github.com/Vasu1105))
|
18
|
+
|
19
|
+
<!-- latest_stable_release -->
|
20
|
+
|
21
|
+
|
22
|
+
## [v0.4.0](https://github.com/chef/win32-taskscheduler/tree/win32-taskscheduler-0.4.0) (5-Apr-2018)
|
23
|
+
- Updated code to create task without trigger. [#25](https://github.com/chef/win32-taskscheduler/pull/25) ([#Vasu1105](https://github.com/Vasu1105))
|
24
|
+
- Fix for execution time limit and weeks of month. [#23](https://github.com/chef/win32-taskscheduler/pull/23) ([#Vasu1105](https://github.com/Vasu1105))
|
25
|
+
- Added methods to get and set principal information of the task. [#22](https://github.com/chef/win32-taskscheduler/pull/22) ([#Nimesh-Msys](https://github.com/Nimesh-Msys))
|
26
|
+
- Added methods to retrieve settings(all/Idle/Network) of current task. [#21](https://github.com/chef/win32-taskscheduler/pull/21) ([#Nimesh-Msys](https://github.com/Nimesh-Msys))
|
27
|
+
- Refactored constants, moved predefined MSDN constns to another file. [#20](https://github.com/chef/win32-taskscheduler/pull/20) ([#Nimesh-Msys](https://github.com/Nimesh-Msys))
|
28
|
+
- Added code to handle on idle trigger and on idle settings. [#19](https://github.com/chef/win32-taskscheduler/pull/19) ([#Vasu1105](https://github.com/Vasu1105))
|
29
|
+
- Fix for trigger at_logon and at_system_start. [#18](https://github.com/chef/win32-taskscheduler/pull/18) ([#Nimesh-Msys](https://github.com/Nimesh-Msys))
|
30
|
+
- Added get_task and enabled? method. [#17](https://github.com/chef/win32-taskscheduler/pull/17) ([#Vasu1105](https://github.com/Vasu1105))
|
31
|
+
- Fix for undefined method 'weeks' error while updating week_of_month[#16](https://github.com/chef/win32-taskscheduler/pull/16) ([#Vasu1105](https://github.com/Vasu1105))
|
32
|
+
- Fix for handling days of month for trigger_type MONTHLYDATE. [#15](https://github.com/chef/win32-taskscheduler/pull/15)([#Vasu1105](https://github.com/Vasu1105))
|
33
|
+
- Fix for setting system user for scheduled task. [#14](https://github.com/chef/win32-taskscheduler/pull/14) ([#Vasu1105](https://github.com/Vasu1105))
|
34
|
+
- Fix for Wrong value is set for end_day, end_year, end_month it should be EndBoundary and not StartBoundary. [#13](https://github.com/chef/win32-taskscheduler/pull/13)([#Vasu1105](https://github.com/Vasu1105))
|
35
|
+
|
36
|
+
## [v0.3.2](https://github.com/chef/win32-taskscheduler/tree/win32-taskscheduler-0.3.2) (18-Mar-2017)
|
37
|
+
- Use the block form for FFI::MemoryPointer in the error message helper
|
38
|
+
function. Thanks go to Ethan Brown for the suggestion.
|
39
|
+
- Fixed a potential bug in the helper module, which was also renamed to
|
40
|
+
help prevent any name collisions.
|
41
|
+
- Added the win32-taskscheduler.rb file for convenience.
|
42
|
+
- Added the configure_settings method.
|
43
|
+
- Added the configure_registration_info method.
|
44
|
+
- Added the description and description= aliases for comments.
|
45
|
+
- Added the author and author= aliases for creator.
|
46
|
+
- Some internal cleanup, moving common code to private methods.
|
47
|
+
- Rakefile now assumes Rubygems 2.0 or later for tasks.
|
48
|
+
- Gemspec cleanup, updated home page, removed old rubyforge_project reference.
|
49
|
+
- This gem is now signed.
|
50
|
+
|
51
|
+
## [v0.3.1](https://github.com/chef/win32-taskscheduler/tree/win32-taskscheduler-0.3.1) (6-Jul-2014)
|
52
|
+
- Added FFI as a dependency. Thanks go to Maxime Lapointe for the spot.
|
53
|
+
- Some updates to the win_error helper method. Thanks go to Ethan J. Brown
|
54
|
+
for the suggestions.
|
55
|
+
|
56
|
+
## [v0.3.0](https://github.com/chef/win32-taskscheduler/tree/win32-taskscheduler-0.3.0) (15-Jan-2014)
|
57
|
+
- Rewritten to use Win32OLE instead of using wrapping the C API. Benefits
|
58
|
+
include working on Windows Vista or later, and working with JRuby.
|
59
|
+
- Modified the constructor to accept 3rd and 4th arguments. These indicate
|
60
|
+
which folder to use, and whether or not to create it if it doesn't exist.
|
61
|
+
- The TaskScheduler#save method is now no longer necessary. It is retained
|
62
|
+
for backwards compatibility, but will raise a deprecation warning. In this
|
63
|
+
version simply calling TaskScheduler#activate will implement the task.
|
64
|
+
- Added support for the AT_SYSTEMSTART, AT_LOGON and ON_IDLE trigger types.
|
65
|
+
- Now requires the structured_warnings gem.
|
66
|
+
- Removed the doc directory and separate documentation file. Everything is
|
67
|
+
inlined now. There's still an example under the "examples" directory, too.
|
68
|
+
- Added test-unit, rake, and win32-security as development dependencies.
|
69
|
+
These are needed for testing only.
|
70
|
+
|
71
|
+
## [v0.2.2](https://github.com/chef/win32-taskscheduler/tree/win32-taskscheduler-0.2.2)(29-Feb-2012)
|
72
|
+
- Moved some include statements inside the TaskScheduler class to avoid
|
73
|
+
polluting Object. Thanks go to Josh Cooper for the spot and patch.
|
74
|
+
- Minor formatting tweaks to silence 1.9 warnings.
|
75
|
+
|
76
|
+
## [v0.2.1](https://github.com/chef/win32-taskscheduler/tree/win32-taskscheduler-0.2.1) (8-Oct-2011)
|
77
|
+
- Fixed a bug that would not allow task to run as SYSTEM. Thanks go to
|
78
|
+
Josh cooper for the spot and patch.
|
79
|
+
- Fixed a bug in new_work_item that would cause it to crash if you tried
|
80
|
+
to create a work item that already existed. An error is now raised instead.
|
81
|
+
Thanks go to Pete Higgins for the spot.
|
82
|
+
- The set_trigger and trigger= methods now internally transform and validate
|
83
|
+
the trigger hash in the same manner as new_work_item. Thanks again go to
|
84
|
+
Pete Higgins.
|
85
|
+
- Cleaned up the repo. The C source files have been removed from the main
|
86
|
+
repository (and this gem). They are in a separate branch on github for
|
87
|
+
anyone who misses them.
|
88
|
+
- Refactored the Rakefile, removing tasks related to the old C source files,
|
89
|
+
and added tasks for cleaning, building and installing a gem.
|
90
|
+
- Updated the README file, eliminating references to anything that was only
|
91
|
+
related to the older C version.
|
92
|
+
|
93
|
+
## [v0.2.0](https://github.com/chef/win32-taskscheduler/tree/win32-taskscheduler-0.2.0)(19-Jun-2009)
|
94
|
+
- Rewritten in pure Ruby!
|
95
|
+
- The TaskScheduler::ONCE constant is now a valid trigger type. Thanks go to
|
96
|
+
Uri Iurgel for the spot and patch.
|
97
|
+
- Added the TaskScheduler#exists? method.
|
98
|
+
- Added the TaskScheduler#tasks alias for the TaskScheduler#enum method.
|
99
|
+
- The TaskScheduler#new_work_item method now accepts symbols as well as
|
100
|
+
strings for hash keys, and ignores case. Also, the keys are now validated.
|
101
|
+
- Renamed the example file and test file.
|
102
|
+
- Added the 'example' Rake task.
|
103
|
+
- Fixed some code in the README synopsis that was incorrect.
|
104
|
+
|
105
|
+
## [v0.1.0](11-May-2008)
|
106
|
+
- The TaskScheduler#save instance method now accepts an optional file name.
|
107
|
+
- Most of the TaskScheduler setter methods now return the value specified
|
108
|
+
instead of true.
|
109
|
+
- Removed the RUN_ONLY_IF_DOCKED and RUN_IF_CONNECTED_TO_INTERNET constants.
|
110
|
+
The MSDN docs say that they are unused.
|
111
|
+
- Added more documentation. Much more rdoc friendly now.
|
112
|
+
- Added many more tests.
|
113
|
+
- Better type handling for bad arguments.
|
114
|
+
- Added a Rakefile with tasks for building, installation and testing.
|
115
|
+
- Added a gemspec.
|
116
|
+
- Inlined the rdoc documentation.
|
117
|
+
- Internal project reorganization and code cleanup.
|
118
|
+
|
119
|
+
## [v0.0.3](1-Mar-2005)
|
120
|
+
- Bug fix for the bitFieldToHumanDays() internal function.
|
121
|
+
- Moved the 'examples' directory to the toplevel directory.
|
122
|
+
- Made the CHANGES and README files rdoc friendly.
|
123
|
+
- Minor updates to taskscheduler.h.
|
124
|
+
|
125
|
+
## [v0.0.2](04-Aug-2004)
|
126
|
+
- Now uses the newer allocation framework and replaced all instances of the
|
127
|
+
deprecated STR2CSTR() function with StringValuePtr(). This means that, as
|
128
|
+
of this release, Ruby 1.8.0 or later is required.
|
129
|
+
- Modified the constructor to accept arguments. This is just some sugar for
|
130
|
+
creating a new task item in one call instead of two.
|
131
|
+
- The argument to trigger= now must be a hash. The same goes for the 'type'
|
132
|
+
sub-hash.
|
133
|
+
- Added the add_trigger() method. Actually, the C code for this method was
|
134
|
+
already in place, I simply forgot to create a corresponding Ruby method
|
135
|
+
for it.
|
136
|
+
- Removed the create_trigger() method. This was really nothing more than an
|
137
|
+
alias for trigger=(). I got confused somehow.
|
138
|
+
- Test suite modified and many more tests added.
|
139
|
+
- Documentation updates, including docs for a couple of methods that I had
|
140
|
+
accidentally omitted previously.
|
141
|
+
|
142
|
+
## [v0.0.1](24-Apr-2004)
|
143
|
+
- Initial release
|
data/Gemfile
CHANGED
@@ -1,3 +1,3 @@
|
|
1
|
-
source "https://rubygems.org"
|
2
|
-
|
1
|
+
source "https://rubygems.org"
|
2
|
+
|
3
3
|
gemspec
|
data/MANIFEST
CHANGED
@@ -1,10 +1,10 @@
|
|
1
|
-
* CHANGES
|
2
|
-
* MANIFEST
|
3
|
-
* README
|
4
|
-
* Rakefile
|
5
|
-
* win32-taskscheduler.gemspec
|
6
|
-
* lib/win32-taskscheduler.rb
|
7
|
-
* lib/win32/taskscheduler.rb
|
8
|
-
* lib/win32/windows/helper.rb
|
9
|
-
* examples/taskscheduler_test.rb
|
10
|
-
* test/test_taskscheduler.rb
|
1
|
+
* CHANGES
|
2
|
+
* MANIFEST
|
3
|
+
* README
|
4
|
+
* Rakefile
|
5
|
+
* win32-taskscheduler.gemspec
|
6
|
+
* lib/win32-taskscheduler.rb
|
7
|
+
* lib/win32/taskscheduler.rb
|
8
|
+
* lib/win32/windows/helper.rb
|
9
|
+
* examples/taskscheduler_test.rb
|
10
|
+
* test/test_taskscheduler.rb
|
data/README.md
ADDED
@@ -0,0 +1,78 @@
|
|
1
|
+
# Description
|
2
|
+
|
3
|
+
[![Gem Version](https://badge.fury.io/rb/win32-taskscheduler.svg)](https://badge.fury.io/rb/win32-taskscheduler)
|
4
|
+
|
5
|
+
The win32-taskscheduler library is a Ruby interface to the MS Windows Task Scheduler. It is analogous to the Unix cron daemon.
|
6
|
+
|
7
|
+
# Installation
|
8
|
+
|
9
|
+
```
|
10
|
+
gem install win32-taskscheduler
|
11
|
+
```
|
12
|
+
|
13
|
+
# Synopsis
|
14
|
+
|
15
|
+
```ruby
|
16
|
+
require 'win32/taskscheduler'
|
17
|
+
include Win32
|
18
|
+
|
19
|
+
ts = TaskScheduler.new
|
20
|
+
|
21
|
+
# Create a trigger that starts on April 25, 2014 at 11:05 pm. The trigger
|
22
|
+
# will run on the first and last week of the month, on Monday and Friday,
|
23
|
+
# in the months of April and May.
|
24
|
+
#
|
25
|
+
trigger = {
|
26
|
+
:start_year => 2014,
|
27
|
+
:start_month => 4,
|
28
|
+
:start_day => 25,
|
29
|
+
:start_hour => 23,
|
30
|
+
:start_minute => 5,
|
31
|
+
:trigger_type => TaskScheduler::MONTHLYDOW,
|
32
|
+
:type => {
|
33
|
+
:weeks => TaskScheduler::FIRST_WEEK | TaskScheduler::LAST_WEEK,
|
34
|
+
:days_of_week => TaskScheduler::MONDAY | TaskScheduler::FRIDAY,
|
35
|
+
:months => TaskScheduler::APRIL | TaskScheduler::MAY
|
36
|
+
}
|
37
|
+
}
|
38
|
+
|
39
|
+
ts.new_work_item('my_notepad', trigger)
|
40
|
+
ts.application_name = 'notepad.exe'
|
41
|
+
ts.activate('my_notepad')
|
42
|
+
```
|
43
|
+
|
44
|
+
# Documentation
|
45
|
+
|
46
|
+
If you installed this library as a gem then the documentation was built for you and can be viewed if your gem server is running. There is also some documentation on the github wiki page.
|
47
|
+
|
48
|
+
# Acknowledgements
|
49
|
+
|
50
|
+
This library was modeled to some degree on the Win32::TaskScheduler Perl module by Umberto Nicoletti. However, there are some differences. Please see the documentation for details.
|
51
|
+
|
52
|
+
# Warranty
|
53
|
+
|
54
|
+
This package is provided "as is" and without any express or implied warranties, including, without limitation, the implied warranties of merchantability and fitness for a particular purpose.
|
55
|
+
|
56
|
+
# Known Issues
|
57
|
+
|
58
|
+
Some versions of Ruby have been known to segfault when attempting to create a task. If this happens you will need to upgrade your version of Ruby. Or, at least, your version of win32ole.
|
59
|
+
|
60
|
+
In some cases JRuby appears to raise a native exception rather than a Ruby exception on failure. This should be mostly harmless.
|
61
|
+
|
62
|
+
Please submit any bug reports to the project page at:
|
63
|
+
|
64
|
+
<http://github.com/chef/win32-taskscheduler>
|
65
|
+
|
66
|
+
# Copyright
|
67
|
+
|
68
|
+
- (C) 2003-2017 Daniel J. Berger All Rights Reserved
|
69
|
+
- (C) 2018 Chef Software, Inc. All Rights Reserved
|
70
|
+
|
71
|
+
# License
|
72
|
+
|
73
|
+
Artistic 2.0
|
74
|
+
|
75
|
+
# Authors
|
76
|
+
|
77
|
+
- Park Heesob
|
78
|
+
- Daniel Berger
|
data/RELEASE_NOTES.md
CHANGED
@@ -1,14 +1,14 @@
|
|
1
|
-
<!---
|
2
|
-
This file is reset every time a new release is done. The contents of this file are for the currently unreleased version.
|
3
|
-
|
4
|
-
Example Note:
|
5
|
-
|
6
|
-
## Example Heading
|
7
|
-
Details about the thing that changed that needs to get included in the Release Notes in markdown.
|
8
|
-
-->
|
9
|
-
|
10
|
-
# win32-taskscheduler 0.4.1 release notes:
|
11
|
-
In this release we have fixed issue as below:
|
12
|
-
|
13
|
-
-- Fix the issue of "no mapping" while creating Windows task for SYSTEM USERS. [Issue: https://github.com/chef/chef/issues/7227]
|
14
|
-
|
1
|
+
<!---
|
2
|
+
This file is reset every time a new release is done. The contents of this file are for the currently unreleased version.
|
3
|
+
|
4
|
+
Example Note:
|
5
|
+
|
6
|
+
## Example Heading
|
7
|
+
Details about the thing that changed that needs to get included in the Release Notes in markdown.
|
8
|
+
-->
|
9
|
+
|
10
|
+
# win32-taskscheduler 0.4.1 release notes:
|
11
|
+
In this release we have fixed issue as below:
|
12
|
+
|
13
|
+
-- Fix the issue of "no mapping" while creating Windows task for SYSTEM USERS. [Issue: https://github.com/chef/chef/issues/7227]
|
14
|
+
|
data/Rakefile
CHANGED
@@ -1,33 +1,33 @@
|
|
1
|
-
require 'rake'
|
2
|
-
require 'rake/clean'
|
3
|
-
require 'rake/testtask'
|
4
|
-
|
5
|
-
CLEAN.include("**/*.gem", "**/*.rbc")
|
6
|
-
|
7
|
-
namespace 'gem' do
|
8
|
-
desc 'Build the win32-taskscheduler gem'
|
9
|
-
task :create => [:clean] do
|
10
|
-
require 'rubygems/package'
|
11
|
-
spec = eval(IO.read('win32-taskscheduler.gemspec'))
|
12
|
-
Gem::Package.build(spec, true)
|
13
|
-
end
|
14
|
-
|
15
|
-
desc 'Install the win32-taskscheduler library as a gem'
|
16
|
-
task :install => [:create] do
|
17
|
-
file = Dir['win32-taskscheduler*.gem'].first
|
18
|
-
sh "gem install -l #{file}"
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
desc 'Run the example code'
|
23
|
-
task :example do
|
24
|
-
ruby '-Iib examples/taskscheduler_example.rb'
|
25
|
-
end
|
26
|
-
|
27
|
-
desc 'Run the test suite for the win32-taskscheduler library'
|
28
|
-
Rake::TestTask.new do |t|
|
29
|
-
t.verbose = true
|
30
|
-
t.warning = true
|
31
|
-
end
|
32
|
-
|
33
|
-
task :default => :test
|
1
|
+
require 'rake'
|
2
|
+
require 'rake/clean'
|
3
|
+
require 'rake/testtask'
|
4
|
+
|
5
|
+
CLEAN.include("**/*.gem", "**/*.rbc")
|
6
|
+
|
7
|
+
namespace 'gem' do
|
8
|
+
desc 'Build the win32-taskscheduler gem'
|
9
|
+
task :create => [:clean] do
|
10
|
+
require 'rubygems/package'
|
11
|
+
spec = eval(IO.read('win32-taskscheduler.gemspec'))
|
12
|
+
Gem::Package.build(spec, true)
|
13
|
+
end
|
14
|
+
|
15
|
+
desc 'Install the win32-taskscheduler library as a gem'
|
16
|
+
task :install => [:create] do
|
17
|
+
file = Dir['win32-taskscheduler*.gem'].first
|
18
|
+
sh "gem install -l #{file}"
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
desc 'Run the example code'
|
23
|
+
task :example do
|
24
|
+
ruby '-Iib examples/taskscheduler_example.rb'
|
25
|
+
end
|
26
|
+
|
27
|
+
desc 'Run the test suite for the win32-taskscheduler library'
|
28
|
+
Rake::TestTask.new do |t|
|
29
|
+
t.verbose = true
|
30
|
+
t.warning = true
|
31
|
+
end
|
32
|
+
|
33
|
+
task :default => :test
|