Skip to content
This repository
Newer
Older
100644 164 lines (121 sloc) 6.313 kb
1dbcc310 »
2011-03-17 index.html -> index.md
1 ---
2 layout: rosella
1b968f43 »
2011-03-17 list libraries in the page header
3 title: Rosella Library
1dbcc310 »
2011-03-17 index.html -> index.md
4 ---
5
c927cd9a »
2011-03-31 Remove information about development libraries from the index page. A…
6 Rosella is a library of patterns and practices for use with the Parrot Virtual
7 Machine. The Rosella project is actually a collection of several individual
8 libraries, each of which implements a single pattern, best practice or
9 toolset. Rosella is intended to be used piece-wise. Use only the parts you
10 want and ignore the parts you do not want. Rosella libraries tend not to be
11 interdependent, although some of the more advanced libraries rely on some of
12 the more basic ones.
13
14 ## Project Goals
15
16 The Rosella project has a number of driving goals which influence both the
17 types of libraries which are provided and the way those libraries are
18 implemented:
19
20 * **Portability**. Rosella is pure-parrot, and has no components written in C.
21 It has no runtime dependencies besides a minimally-configured Parrot.
22 Rosella can go anywhere Parrot can go.
23 * **Complete language agnosticism**. Rosella intends to be usable from
24 programs written in any language running on Parrot.
25 * **Encapsulate low-level details**. Parrot provides lots of tools, though
26 many are too low-level. Rosella attempts to encapsulate some ugly details
27 behind nice, friendly, and usable interfaces.
28 * **Extensibility**. Rosella aims to provide good defaults, but also to allow
29 aggressive modifications, configurations, and subclassing behaviors to those
30 who need something different.
31 * **Provide well-known tools**. Rosella isn't an experimental research
32 project. It aims to provide Parrot implementations of well-known patterns,
33 practices, architectures, and tools. Rosella borrows good ideas from
34 well-known and high-quality sources.
35 * **Focus on the user**. Rosella is interested in making things easier for
36 other coders. It wants to provide things that other coders will actually use
37 and appreciate. Rosella is a set of tools for coders, not for end users.
1dbcc310 »
2011-03-17 index.html -> index.md
38
39 ## Rosella Components
40
41 ### Rosella Stable Libraries
42
43 Here is a list of Rosella's libraries which are currently
44 considered to be "stable" enough for general use:
45
889d350b »
2011-03-30 add links to libraries on the index page
46 #### [Core](/Rosella/libraries/core.html)
1dbcc310 »
2011-03-17 index.html -> index.md
47
48 Rosella's Core library provides a handful of routines used by
49 the other Rosella libraries. This library provides basic behavior
50 for working with an assortment of "type" meta-objects, and for
51 implementing a standard system of object constructor behavior.
52
889d350b »
2011-03-30 add links to libraries on the index page
53 #### [Action](/Rosella/libraries/action.html)
1dbcc310 »
2011-03-17 index.html -> index.md
54
55 The Action library implements the Command pattern. Sequences of
56 instructions can be bundled together into an Action object, and
57 can be invoked later.
58
889d350b »
2011-03-30 add links to libraries on the index page
59 #### [Container](/Rosella/libraries/container.html)
1dbcc310 »
2011-03-17 index.html -> index.md
60
61 The Container library implements a Dependency Injection, Inversion
62 of Control container type which can be used to help decouple
63 modules in a program. The Container utilizes the Action library
64 to setup constructor injection and method injection behaviors
65 on registered types.
66
889d350b »
2011-03-30 add links to libraries on the index page
67 #### [Test](/Rosella/libraries/test.html)
1dbcc310 »
2011-03-17 index.html -> index.md
68
69 Inspired by testing libraries such as xUnit and Test::More,
70 The Rosella Test library provides the tools and utilities to
71 quickly write unit tests for your software. Rosella's own test
72 suite is written using this library.
73
91b7e4fd »
2011-03-30 tap_harness -> harness
74 #### [Harness](/Rosella/libraries/harness.html)
1dbcc310 »
2011-03-17 index.html -> index.md
75
76 A companion to the Test library, The TAP Harness library
77 implements the logic necessary to quickly construct a TAP harness
78 for executing unit tests and reporting the results. Rosella's own
79 test harness is written using this library.
80
889d350b »
2011-03-30 add links to libraries on the index page
81 #### [Proxy](/Rosella/libraries/proxy.html)
1dbcc310 »
2011-03-17 index.html -> index.md
82
83 The Proxy library provides the tools necessary to create a wide
84 array of proxy objects.
85
889d350b »
2011-03-30 add links to libraries on the index page
86 #### [Mock Object](/Rosella/libraries/mockobject.html)
1dbcc310 »
2011-03-17 index.html -> index.md
87
88 The MockObject library uses the Rosella Proxy library to implement
89 full-featured mock objects for use in testing with the Test
90 library. Several tests in the Rosella test suite are implemented
91 using this library.
92
93 ### Rosella Development Libraries
94
c927cd9a »
2011-03-31 Remove information about development libraries from the index page. A…
95 Rosella has a number of other libraries in planning and development. These
96 libraries are not yet considered mature enough to include as part of a
97 regular release. For the complete list with descriptions and ideas, see the
98 [future libraries page](/Rosella/libraries/future.html).
1dbcc310 »
2011-03-17 index.html -> index.md
99
100 ## Install
101
c927cd9a »
2011-03-31 Remove information about development libraries from the index page. A…
102 ### Build Dependencies
103
104 * [Parrot](http://github.com/parrot/parrot) : Rosella runs on top of the
105 Parrot VM. You cannot build, run, or use Rosella in any way without Parrot.
106 * [Winxed](http://code.google.com/p/winxed) : Rosella is written in the
107 Winxed language. You need Winxed to build Rosella, but you do not need
108 Winxed to run it. Winxed has no runtime libraries of its own.
1dbcc310 »
2011-03-17 index.html -> index.md
109
110 ### Installing With Plumage
111
1b968f43 »
2011-03-17 list libraries in the page header
112 [Plumage](http://github.com/parrot/plumage) is a
1dbcc310 »
2011-03-17 index.html -> index.md
113 package-management program for Parrot. If you have Plumage
114 and Winxed already installed getting Rosella is a breeze:
115
116 $ plumage install rosella</pre>
117
118 That's all there is to it! You now have Rosella. If you don't have
119 Plumage on your system you'll need to follow the rest of the
120 instructions below.
121
122 ### Get the Source
123
124 You can download this project in either
1b968f43 »
2011-03-17 list libraries in the page header
125 [zip](http://github.com/Whiteknight/Rosella/zipball/master) or
126 [tar](http://github.com/Whiteknight/Rosella/tarball/master) formats.
1dbcc310 »
2011-03-17 index.html -> index.md
127
1b968f43 »
2011-03-17 list libraries in the page header
128 You can also clone the project with [Git](http://git-scm.com)
1dbcc310 »
2011-03-17 index.html -> index.md
129 by running:
130
131 $ git clone git://github.com/Whiteknight/Rosella
132
133 ### Installing Manually
134
135 Once you have a copy of the source and all the necessary
136 dependencies you can build, test and install Rosella:
137
138 $ winxed setup.winxed build
139 $ winxed setup.winxed test
140 $ winxed setup.wixned install
141
142 ## Project Info
143
144 ### License
145
1b968f43 »
2011-03-17 list libraries in the page header
146 Rosella is released under the terms of the Artistic 2.0 license.
147 See the LICENSE file in the repo for more details.
1dbcc310 »
2011-03-17 index.html -> index.md
148
149 ### Authors
150
1b968f43 »
2011-03-17 list libraries in the page header
151 Rosella is written by [Whiteknight](http://whiteknight.github.com)
152 (wknight8111@gmail.com). See the CREDITS file in the repo for more details
153 about contributors and the people and projects which have inspired Rosella.
1dbcc310 »
2011-03-17 index.html -> index.md
154
155 <div class="footer">
156 get the source code on GitHub :
157 <a href="http://github.com/Whiteknight/Rosella">Whiteknight/Rosella</a>
158 <br/>
159 The image of the Crimson Rosella at the top of the page is from
160 <a href="http://commons.wikimedia.org/wiki/File:Crimson_Rosella,_Culburra_Beech.jpg">
161 D. Gordon E. Robertson on Wikipedia
162 </a>. The image is released under the terms of the CC-By-SA-3.0 and/or
163 the GFDL licenses.
164 </div>
165
Something went wrong with that request. Please try again.