[Bps-public-commit] r10855 - Shipwright/trunk/lib
sunnavy at bestpractical.com
sunnavy at bestpractical.com
Fri Feb 15 10:38:28 EST 2008
Author: sunnavy
Date: Fri Feb 15 10:38:23 2008
New Revision: 10855
Modified:
Shipwright/trunk/lib/Shipwright.pm
Log:
description for Shipwright
Modified: Shipwright/trunk/lib/Shipwright.pm
==============================================================================
--- Shipwright/trunk/lib/Shipwright.pm (original)
+++ Shipwright/trunk/lib/Shipwright.pm Fri Feb 15 10:38:23 2008
@@ -56,9 +56,55 @@
=head1 DESCRIPTION
+Shipwright's a tool to help you bundle dists.
-=head1 INTERFACE
-
+We don't want to repeat ourself, so when we write a dist, we'll try to use
+as many already created and great modules( sure, I bet most of them can be
+found on CPAN, though not all ) as we can.
+
+When we want to install it, we have to install all of its dependences to let
+it happy. Luckily, we have CPAN:: and CPANPLUS:: to help us install nearly
+all of them without much pain, then maybe we need to fix the left non-cpan
+deps manually( usually, we'd fix the non-cpan deps first ;)
+
+This surely works, but there're some drawbacks, especially for a large dist
+which uses many cpan modules and even requires other stuff. The install
+instructions maybe too many to not be very friendly to end users, and it's not
+easy to do version control with all the dependent dists since most of them are
+from somewhere else we can't control. If we need other non-perl dists( e.g.
+we need subversion and swig for SVK ), then things'll be worse.
+
+So we wrote Shipwright, a tool to help you bundle a dist with all of
+dependences, no matter it's a CPAN module or a dist from other place.
+And it'll be very easy to install the bundle, usually with just one command:
+
+$ ./bin/shipwright-builder
+
+The thought of shipwright is simple:
+
+ raw material shipwright factory
+-------------------- ------------------------
+| all the seperate| import | internal shipwright | build
+| dist sources | =====> | repository | ====>
+-------------------| -----------------------
+
+ final product
+------------------------
+| installed to system |
+------------------------
+
+So there're mainly two useful commands in shipwright: import and build, which
+can be invoked like this:
+
+$ shipwright import ...
+
+$ shipwright build ...
+
+If you get a shipwright build repository, but don't have shipwright installed
+on your system, there's no problem to install at all: the repository has
+bin/shipwright-builder script. ( in fact, we encourage you building with
+bin/shipwright-builder, because you can hack the script freely without worrying
+about global changes )
=head1 DEPENDENCIES
More information about the Bps-public-commit
mailing list