Commits

Shlomi Fish committed f24536e

Tagging the Freecell Solver 3.8.0 release

git-svn-id: file:///home/shlomif/Backup/svn-dumps/google-code/svnsync-repos/fc-solve/fc-solve/tags/releases@3955 e7e8a897-7ba4-4ee7-b36f-f4c66519b19a

Comments (0)

Files changed (1158)

3.8.0/Games-Solitaire-Verify/Games-Solitaire-Verify/Build.PL

+use strict;
+use warnings;
+
+use File::Spec;
+use lib File::Spec->catdir(File::Spec->curdir(), "inc");
+
+use Test::Run::Builder;
+
+my $builder = Test::Run::Builder->new(
+    module_name         => 'Games::Solitaire::Verify',
+    license             => 'mit',
+    dist_author         => 'Shlomi Fish <shlomif@iglu.org.il>',
+    dist_version_from   => 'lib/Games/Solitaire/Verify.pm',
+    build_requires => {
+        'Test::More' => 0,
+    },
+    requires => {
+        'base' => 0,
+        'Class::XSAccessor' => 0,
+        'File::Spec' => 0,
+        'Exception::Class' => 0,
+        'List::Util' => 0,
+        'Getopt::Long' => '2.36',
+    },
+    add_to_cleanup      => [ 'Games-Solitaire-Verify-*' ],
+    create_makefile_pl => 'traditional',
+    script_files => [
+        "script/verify-solitaire-solution"
+    ],
+    meta_merge =>
+    {
+        resources =>
+        {
+            repository => "http://svn.berlios.de/svnroot/repos/fc-solve/trunk/Games-Solitaire-Verify/",
+            homepage => "http://fc-solve.berlios.de/verify-code/",
+            MailingList => "http://tech.groups.yahoo.com/group/fc-solve-discuss/",
+        },
+        keywords =>
+        [
+            "baker's dozen",
+            "baker's game",
+            "card",
+            "card games",
+            "cards",
+            "eight off",
+            "forecell",
+            "foundations",
+            "freecell",
+            "french",
+            "games",
+            "moves",
+            "patience",
+            "seahaven",
+            "seahaven towers",
+            "simple simon",
+            "single-player",
+            "solitaire",
+            "solutions",
+            "solve",
+            "solving",
+            "verification",
+            "verify",
+        ],
+    },
+
+);
+
+$builder->create_build_script();

3.8.0/Games-Solitaire-Verify/Games-Solitaire-Verify/COPYING

+Copyright (c) 2008 Shlomi Fish
+
+Permission is hereby granted, free of charge, to any person
+obtaining a copy of this software and associated documentation
+files (the "Software"), to deal in the Software without
+restriction, including without limitation the rights to use,
+copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+----------------------------------------------------------------------------
+
+This is the MIT/X11 Licence. For more information see:
+
+1. http://www.opensource.org/licenses/mit-license.php
+
+2. http://en.wikipedia.org/wiki/MIT_License

3.8.0/Games-Solitaire-Verify/Games-Solitaire-Verify/Changes

+Revision history for Games-Solitaire-Verify
+
+        - Add the script/tag-release.pl to tag a release in Subversion.
+        - Add script/bump-version-number.pl .
+        - lib/Games/Solitaire/Verify/Card.pm :
+            - Add the id() slot.
+            - Add the data() slot.
+        - lib/Games/Solitaire/Verify/State.pm :
+            - Add the add_column method.
+            - Add the set_foundations() method.
+            - Add the set_freecells() method.
+
+0.0901  Thu Jun  2 21:24:24 IDT 2011
+        - Now importing Dumper from Data::Dumper properly.
+
+0.09    Sat Jul 10 12:28:47 IDT 2010
+        - Converted from Class-Accessor to Class-XSAccessor (with a function
+        emulating mk_accessors for convenience.).
+            - This made the test suite run faster.
+        - Add the script/verify-solitaire-solution and 
+        lib/Games/Solitaire/Verify/App/CmdLine.pm .
+
+0.08    Sat Jul  4 11:24:29 IDT 2009
+        - Removed the "all rights reserved" language. I was told it is
+        incompatible with the MIT/X11 License.
+        - Added the COPYING file.
+
+0.07    Mon Jun 22 23:37:01 IDT 2009
+        - Added some meta-data (repository, homepage, mailing list and 
+        keywords) to META.yml.
+        - Implemented many missing exceptions.
+            - Added tests for some of them.
+
+0.06    Sat May 30 15:56:13 IDT 2009
+        - Now the module can verify Simple Simon moves and solutions. 
+            - The support has many loose ends including many non-existent 
+            exceptions, but it should still yield a true verdict 
+            if-and-only-if the solution is correct.
+
+0.05    Sat Jan 24 21:33:30 IST 2009
+        - Made sure that when unlimited sequence move takes place, it isn't
+        affected by kings_only, etc. I.e: it always allows to move an
+        arbitrary number of cards when it is specified.
+            - Bug discovered based on this post by larrysan:
+            - http://tech.groups.yahoo.com/group/fc-solve-discuss/message/856
+
+0.04    Thu Aug  7 20:36:14 IDT 2008
+        - Now verify_and_perform_move in Games::Solitaire::Verify::State
+        is returning objects of exception classes, instead of stringified
+        errors, to facilitate knowing exactly why the move is invalid.
+        - Refactored Games::Solitaire::Verify::State:
+            - Extracted methods from verify_and_perform_move
+            - Converted to a ->can() dispatch table.
+
+0.03    Fri Jul 25 13:39:35 IDT 2008
+        - Added support for more variants of Solitaire, using the
+        Freecell Solver-style parameterization:
+            - num_freecells
+            - num_columns
+            - num_decks
+            - sequence_move
+            - seq_build_by
+            - empty_stacks_filled_by
+        - Added more support modules:
+            - lib/Games/Solitaire/Verify/VariantParams.pm
+            - lib/Games/Solitaire/Verify/VariantsMap.pm
+        - 
+0.02    Thu Jul 10 15:05:10 IDT 2008
+        - Added another test for a wrong solution.
+        - Extracted two classes from Games::Solitaire::Verify::State :
+            - lib/Games/Solitaire/Verify/Foundations.pm
+            - lib/Games/Solitaire/Verify/Freecells.pm
+        - Added List::Util to the "requires" - it was missing.
+
+0.0102  Thu Jul 10 03:06:18 IDT 2008
+        - Fixed the script with the absolute path on Makefile.PL
+        - Moved bin to script because it's written in pure-Perl.
+
+0.0101  Wed Jul  9 16:30:27 IDT 2008
+        - Fixed various bugs:
+            - incompatible output between what we had and Freecell Solver
+            (trailing whitespace etc.)
+            - Added a test assertion for verifying that a wrong solution is
+              wrong. (which uncovered the bugs.)
+            - Fixed the solution verification logic.
+
+0.01    Sat Jul  5 19:59:36 IDT 2008
+        - First version.
+        - Can only do Freecell for now, but there's a lot of modularity
+        and extensibility infrastrucutre in place.
+        - 193 Test Assertions.

3.8.0/Games-Solitaire-Verify/Games-Solitaire-Verify/MANIFEST

+Build.PL
+Changes
+COPYING
+inc/Test/Run/Builder.pm
+lib/Games/Solitaire/Verify/App/CmdLine.pm
+lib/Games/Solitaire/Verify/Base.pm
+lib/Games/Solitaire/Verify/Card.pm
+lib/Games/Solitaire/Verify/Column.pm
+lib/Games/Solitaire/Verify/Exception.pm
+lib/Games/Solitaire/Verify/Foundations.pm
+lib/Games/Solitaire/Verify/Freecells.pm
+lib/Games/Solitaire/Verify/Move.pm
+lib/Games/Solitaire/Verify.pm
+lib/Games/Solitaire/Verify/Solution.pm
+lib/Games/Solitaire/Verify/State.pm
+lib/Games/Solitaire/Verify/VariantParams.pm
+lib/Games/Solitaire/Verify/VariantsMap.pm
+Makefile.PL
+MANIFEST
+META.yml
+README
+script/bump-version-number.pl
+script/tag-release.pl
+script/verify-solitaire-solution
+t/00-load.t
+t/01-base.t
+t/02-move.t
+t/03-card.t
+t/04-column.t
+t/05-state.t
+t/06-verify-moves.t
+t/07-solution.t
+t/data/sample-solutions/fcs-bakers-game-24.txt
+t/data/sample-solutions/fcs-eight-off-200-l-gi.txt
+t/data/sample-solutions/fcs-eight-off-200.txt
+t/data/sample-solutions/fcs-forecell-24.txt
+t/data/sample-solutions/fcs-freecell-24.txt
+t/data/sample-solutions/fcs-freecell-24-wrong-1.txt
+t/data/sample-solutions/fcs-freecell-24-wrong-2.txt
+t/data/sample-solutions/fcs-larrysan-kings-only-0-freecells-unlimited-move.txt
+t/data/sample-solutions/fcs-relaxed-freecell-11982.txt
+t/data/sample-solutions/fcs-seahaven-towers-1977.txt
+t/data/sample-solutions/fcs-simple-simon-24.txt
+t/pod-coverage.t
+t/pod.t

3.8.0/Games-Solitaire-Verify/Games-Solitaire-Verify/README

+Games-Solitaire-Verify
+
+This is a CPAN Perl module that verifies the solutions of various variants
+of card Solitaire. It does not aim to try to be a solver for them, because
+this is too CPU intensive to be adequately done using perl5 (as of 
+perl-5.10.0). If you're interested in the latter, look at:
+
+* http://fc-solve.berlios.de/
+
+* http://fc-solve.berlios.de/links.html#other_solvers
+
+Instead, what Games-Solitaire-Verify does is verify the solutions
+and makes sure they are correct.
+
+See http://pysolfc.sourceforge.net/ for more about card solitaire.
+
+INSTALLATION
+
+To install this module, run the following commands:
+
+	perl Build.PL
+	./Build
+	./Build test
+	./Build install
+
+Alternatively you can use CPAN.pm or CPANPLUS.pm, or more preferably your
+operating system's wrappers for them.
+
+SUPPORT AND DOCUMENTATION
+
+After installing, you can find documentation for this module with the
+perldoc command.
+
+    perldoc Games::Solitaire::Verify
+
+You can also look for information at:
+
+    RT, CPAN's request tracker
+        http://rt.cpan.org/NoAuth/Bugs.html?Dist=Games-Solitaire-Verify
+
+    AnnoCPAN, Annotated CPAN documentation
+        http://annocpan.org/dist/Games-Solitaire-Verify
+
+    CPAN Ratings
+        http://cpanratings.perl.org/d/Games-Solitaire-Verify
+
+    Search CPAN
+        http://search.cpan.org/dist/Games-Solitaire-Verify
+
+
+COPYRIGHT AND LICENCE
+
+Copyright (C) 2008 Shlomi Fish
+
+This program is released under the following license: MIT X11 License.
+

3.8.0/Games-Solitaire-Verify/Games-Solitaire-Verify/build-ctags.sh

+#!/bin/sh
+ctags -f tags --recurse --totals \
+    --exclude='**/blib/**' --exclude='blib/**' --exclude='**/t/lib/**' \
+    --exclude='**/.svn/**' --exclude='*~' \
+    --exclude='Games-Solitaire-Verify-*/**' \
+    --languages=Perl --langmap=Perl:+.t

3.8.0/Games-Solitaire-Verify/Games-Solitaire-Verify/inc/Test/Run/Builder.pm

+package Test::Run::Builder;
+
+use strict;
+use warnings;
+
+use Module::Build;
+
+use vars qw(@ISA);
+
+@ISA = (qw(Module::Build));
+
+sub ACTION_runtest
+{
+    my ($self) = @_;
+    my $p = $self->{properties};
+
+    $self->depends_on('code');
+
+    local @INC = @INC;
+
+    # Make sure we test the module in blib/
+    unshift @INC, (File::Spec->catdir($p->{base_dir}, $self->blib, 'lib'),
+		 File::Spec->catdir($p->{base_dir}, $self->blib, 'arch'));
+