RDI 0.1.0.20091020
Sign up to get free protection for your applications and to get access to all the features.
- data/AUTHORS +3 -0
- data/ChangeLog +46 -0
- data/Credits +21 -0
- data/LICENSE +31 -0
- data/README +18 -0
- data/TODO +17 -0
- data/lib/rdi/Installer.rb +678 -0
- data/lib/rdi/Model/ContextModifier.rb +20 -0
- data/lib/rdi/Model/DependencyDescription.rb +154 -0
- data/lib/rdi/Model/DependencyUserChoice.rb +202 -0
- data/lib/rdi/Model/Installer.rb +24 -0
- data/lib/rdi/Model/LocationSelector.rb +16 -0
- data/lib/rdi/Model/ProgressView.rb +16 -0
- data/lib/rdi/Model/Tester.rb +20 -0
- data/lib/rdi/Model/View.rb +16 -0
- data/lib/rdi/Plugins/ContextModifiers/GemPath.desc.rb +13 -0
- data/lib/rdi/Plugins/ContextModifiers/GemPath.rb +106 -0
- data/lib/rdi/Plugins/ContextModifiers/LibraryPath.rb +74 -0
- data/lib/rdi/Plugins/ContextModifiers/RubyLoadPath.rb +76 -0
- data/lib/rdi/Plugins/ContextModifiers/SystemPath.rb +74 -0
- data/lib/rdi/Plugins/GemCommon.rb +127 -0
- data/lib/rdi/Plugins/Installers/Download.rb +72 -0
- data/lib/rdi/Plugins/Installers/DownloadAndInstall.desc.rb +11 -0
- data/lib/rdi/Plugins/Installers/DownloadAndInstall.rb +54 -0
- data/lib/rdi/Plugins/Installers/Gem.desc.rb +13 -0
- data/lib/rdi/Plugins/Installers/Gem.rb +67 -0
- data/lib/rdi/Plugins/Installers/Icons/Download.png +0 -0
- data/lib/rdi/Plugins/Installers/Icons/DownloadAndInstall.png +0 -0
- data/lib/rdi/Plugins/Installers/Icons/Gem.png +0 -0
- data/lib/rdi/Plugins/Installers/Yum.rb +52 -0
- data/lib/rdi/Plugins/ProgressViews/SimpleWxGUI.desc.rb +13 -0
- data/lib/rdi/Plugins/ProgressViews/SimpleWxGUI.rb +58 -0
- data/lib/rdi/Plugins/ProgressViews/Text.rb +68 -0
- data/lib/rdi/Plugins/RubyGemsDepDesc.rb +41 -0
- data/lib/rdi/Plugins/Testers/Binaries.rb +56 -0
- data/lib/rdi/Plugins/Testers/DynamicLibraries.rb +56 -0
- data/lib/rdi/Plugins/Testers/RubyRequires.rb +76 -0
- data/lib/rdi/Plugins/Views/SimpleWxGUI/DependenciesLoaderDialog.rb +147 -0
- data/lib/rdi/Plugins/Views/SimpleWxGUI/DependencyPanel.rb +301 -0
- data/lib/rdi/Plugins/Views/SimpleWxGUI/Icons/Dependency.png +0 -0
- data/lib/rdi/Plugins/Views/SimpleWxGUI/Icons/Ignore.png +0 -0
- data/lib/rdi/Plugins/Views/SimpleWxGUI/Icons/ValidKO.png +0 -0
- data/lib/rdi/Plugins/Views/SimpleWxGUI/Icons/ValidOK.png +0 -0
- data/lib/rdi/Plugins/Views/SimpleWxGUI/LocationSelectors/Directory.desc.rb +13 -0
- data/lib/rdi/Plugins/Views/SimpleWxGUI/LocationSelectors/Directory.rb +45 -0
- data/lib/rdi/Plugins/Views/SimpleWxGUI.desc.rb +13 -0
- data/lib/rdi/Plugins/Views/SimpleWxGUI.rb +60 -0
- data/lib/rdi/Plugins/Views/Text/LocationSelectors/Directory.rb +44 -0
- data/lib/rdi/Plugins/Views/Text.rb +257 -0
- data/lib/rdi/Plugins/WxCommon.rb +69 -0
- data/lib/rdi/Plugins/WxRubyDepDesc.rb +36 -0
- data/lib/rdi/rdi.rb +8 -0
- data/test/Common.rb +796 -0
- data/test/Flows/BasicFlows.rb +114 -0
- data/test/Flows/UIFlows.rb +460 -0
- data/test/Plugins/ContextModifiers/GemPath.rb +44 -0
- data/test/Plugins/ContextModifiers/LibraryPath.rb +36 -0
- data/test/Plugins/ContextModifiers/RubyLoadPath.rb +36 -0
- data/test/Plugins/ContextModifiers/SystemPath.rb +36 -0
- data/test/Plugins/Installers/Download.rb +65 -0
- data/test/Plugins/Installers/DownloadAndInstall.rb +73 -0
- data/test/Plugins/Installers/Gem.rb +79 -0
- data/test/Plugins/LocationSelectors/Directory.rb +34 -0
- data/test/Plugins/Testers/Binaries.rb +46 -0
- data/test/Plugins/Testers/DynamicLibraries.rb +46 -0
- data/test/Plugins/Testers/RubyRequires.rb +48 -0
- data/test/Plugins/Views/SimpleWxGUI.rb +190 -0
- data/test/Plugins/Views/Text.rb +112 -0
- data/test/Plugins/WxEnv.rb +58 -0
- data/test/Plugins/WxEnvApp.rb +53 -0
- data/test/Repository/Binaries/DummyBinary +1 -0
- data/test/Repository/Libraries/DummyLibrary.so +1 -0
- data/test/Repository/RubyGems/DummyGem-0.0.1.20090828.gem +0 -0
- data/test/Repository/RubyGems/GemsSources/DummyGem/DummyGem.gemspec.rb +23 -0
- data/test/Repository/RubyGems/GemsSources/DummyGem/lib/DummyGemMain.rb +5 -0
- data/test/Repository/RubyLibraries/DummyRubyLib.rb +1 -0
- data/test/run.rb +23 -0
- metadata +145 -0
data/AUTHORS
ADDED
data/ChangeLog
ADDED
@@ -0,0 +1,46 @@
|
|
1
|
+
= RDI Release History
|
2
|
+
|
3
|
+
== 0.1.0.20091020 (Alpha)
|
4
|
+
|
5
|
+
=== New features
|
6
|
+
|
7
|
+
* Updated icon for ignoring dependencies
|
8
|
+
* Implemented ProgressViews to give progression dialogs upon installation.
|
9
|
+
* Implemented Text Progress View.
|
10
|
+
* Implemented SimpleWxGUI Progress View.
|
11
|
+
* Added possibility to specify preferred ProgressViews.
|
12
|
+
* Refactored requires for gain in startup performances.
|
13
|
+
* Implemented a cache of Gem.path, find_files and clear_cache.
|
14
|
+
* Setting default options does not unset previously set default options, unless explicitly specified.
|
15
|
+
* Added getDefaultInstallLocation to the API.
|
16
|
+
* Added ensureLocationInContext to the API.
|
17
|
+
* Add install icons next to the installer choices in SimpleWxGUI.
|
18
|
+
* Local downloads are made in a Downloads sub-directory.
|
19
|
+
* Better error handling of zip extraction.
|
20
|
+
* Changed the local path to install gems (added LocalGems subdirectory to it)
|
21
|
+
* Removed .rb suffixes in required files (better migration to .so if needed)
|
22
|
+
* Adapted to new getPluginInstance interface
|
23
|
+
* Added default options that can be changed.
|
24
|
+
* Adopted new rUtilAnts API
|
25
|
+
* Removed direct public access to the application root directory (always use ExtDir instead).
|
26
|
+
* Implemented a main instance singleton.
|
27
|
+
* Renamed $CT_* variables into $rUtilAnts_*
|
28
|
+
|
29
|
+
=== Testing
|
30
|
+
|
31
|
+
* Regression: Implemented MuteProgressView to silently progress on test installations.
|
32
|
+
* Regression: Used new API.
|
33
|
+
* Use TempDir instead of AppRootDir in regression.
|
34
|
+
|
35
|
+
=== Bug correction
|
36
|
+
|
37
|
+
* Bug correction: Zip extraction did not set %INSTALLDIR% correctly for ContextModifiers.
|
38
|
+
* Bug correction: Installing Gem dependencies in paths already part of Gem.path could not be used correctly.
|
39
|
+
* Bug correction: Setting installer in the DependencyUserChoice object also set the Ignore flag.
|
40
|
+
* Bug correction: When choosing an alternate location to install to, the components did not display it correctly.
|
41
|
+
* Bug correction: rUtilAnts/Plugins was wrongly required.
|
42
|
+
* Bug correction: Corrected some regression test cases that did not clean everything behind them.
|
43
|
+
|
44
|
+
== 0.0.1.20090910 (Alpha)
|
45
|
+
|
46
|
+
* Initial public release
|
data/Credits
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
= Projects used by RDI
|
2
|
+
|
3
|
+
== Ruby
|
4
|
+
* Yukihiro « matz » Matsumoto (http://www.rubyist.net/~matz/)
|
5
|
+
* http://www.ruby-lang.org/
|
6
|
+
* Thanks a lot Matz for this truly wonderful language !
|
7
|
+
|
8
|
+
== RubyGems
|
9
|
+
* Paul Duncan <pabs@pablotron.org>
|
10
|
+
* http://rubygems.org/
|
11
|
+
* Used to automatically download Gem dependencies
|
12
|
+
|
13
|
+
== WxRuby
|
14
|
+
* Sean Long (http://rubyforge.org/users/seanlong/)
|
15
|
+
* Alex Fenton (http://rubyforge.org/users/brokentoy/)
|
16
|
+
* http://wxruby.rubyforge.org
|
17
|
+
* Used as the GUI framework
|
18
|
+
|
19
|
+
= People that helped a lot in developing RDI
|
20
|
+
|
21
|
+
* Alex Fenton (http://rubyforge.org/users/brokentoy/) for his unvaluable help in better understanding WxRuby and WxWidgets
|
data/LICENSE
ADDED
@@ -0,0 +1,31 @@
|
|
1
|
+
|
2
|
+
The license stated herein is a copy of the BSD License (modified on July 1999).
|
3
|
+
The AUTHOR mentionned below refers to the list of people involved in the
|
4
|
+
creation and modification of any file included in the delivered package.
|
5
|
+
This list is found in the file named AUTHORS.
|
6
|
+
The AUTHORS and LICENSE files have to be included in any release of software
|
7
|
+
embedding source code of this package, or using it as a derivative software.
|
8
|
+
|
9
|
+
Copyright (c) 2009 Muriel Salvan (murielsalvan@users.sourceforge.net)
|
10
|
+
|
11
|
+
Redistribution and use in source and binary forms, with or without
|
12
|
+
modification, are permitted provided that the following conditions are met:
|
13
|
+
|
14
|
+
1. Redistributions of source code must retain the above copyright notice,
|
15
|
+
this list of conditions and the following disclaimer.
|
16
|
+
2. Redistributions in binary form must reproduce the above copyright notice,
|
17
|
+
this list of conditions and the following disclaimer in the documentation
|
18
|
+
and/or other materials provided with the distribution.
|
19
|
+
3. The name of the author may not be used to endorse or promote products
|
20
|
+
derived from this software without specific prior written permission.
|
21
|
+
|
22
|
+
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
23
|
+
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
24
|
+
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
|
25
|
+
EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
26
|
+
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
|
27
|
+
OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
28
|
+
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
29
|
+
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
|
30
|
+
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
|
31
|
+
OF SUCH DAMAGE.
|
data/README
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
-- This file is best viewed when processed by rdoc.
|
2
|
+
++
|
3
|
+
|
4
|
+
= RDI: Runtime Dependencies Installer
|
5
|
+
|
6
|
+
Library that embeds a dynamic dependencies installer.
|
7
|
+
|
8
|
+
== Where is the documentation ?
|
9
|
+
|
10
|
+
Check the website at http://rdi.sourceforge.net
|
11
|
+
|
12
|
+
== Who wrote it ?
|
13
|
+
|
14
|
+
Check the AUTHORS[link:files/AUTHORS.html] file.
|
15
|
+
|
16
|
+
== What is the license ?
|
17
|
+
|
18
|
+
You can find out in the LICENSE[link:files/LICENSE.html] file.
|
data/TODO
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
* Documentation
|
2
|
+
** Write a complete User Guide.
|
3
|
+
** Write a complete Developer Guide.
|
4
|
+
** Create FAQ
|
5
|
+
|
6
|
+
* Testing
|
7
|
+
** Regression should test automatically for each Installer type that depending on the location of the install (Local, System, User...), only the correct directories are altered.
|
8
|
+
** Regression should warn when plugins don't have regression test cases
|
9
|
+
** Add cases were part of Testers are resolved (do GUIs correctly take the resolved ones into account ?)
|
10
|
+
** Add generic cases testing that for each AffectingContextModifier in Testers plugins, they effectively resolve Testers.
|
11
|
+
** Add generic cases for ProgressViews.
|
12
|
+
|
13
|
+
* Development
|
14
|
+
** In the dependenciesloader dialog, test internet connection before proposing installing Gems and Dlls.
|
15
|
+
** Give the possiblity to provide simple APIs that will handle most common dependency descriptions.
|
16
|
+
** Add buttons/combos 'Ignore All' 'Install All local' 'Install All system'... in the SimpleWxGUI.
|
17
|
+
** In the dependency description, each installer could have a list of DependencyDescription to ensure before trying to install. This could be useful for installers that compile... This can be used for nokogiri under Linux that needs yum install libxml2-devel and libxslt-devel.
|