srvance / p4-objects Goto Github PK
View Code? Open in Web Editor NEWDomain object-oriented wrapper around Perforce's P4Perl API
License: Other
Domain object-oriented wrapper around Perforce's P4Perl API
License: Other
NAME P4::Objects - an OO wrapper around Perforce's P4API DESCRIPTION P4::Objects is a domain-driven object-oriented wrapper around Perforce's P4Perl API. "Domain-driven" means that this API models the entities in the Perforce systems as full-fledged objects. The P4Perl API does not do this, simply using an object to encapsulate the communication API to the Perforce server. However, the P4Perl API handles several things such as marshalling of output into hashes and arrays and good error categorization. We leverage these benefits in this API. The domain objects modeled in P4::Objects include: P4::Session P4::Connection P4::Repository P4::Workspace P4::User and so forth. See Changes for the change log. PREREQUISITES Class::Std Class::Throwable Devel::Cover Log::Log4perl P4 Test::Util INSTALLATION To install this module, run the following commands: perl Makefile.PL make make test make install CONTRIBUTING Contributions (source code, not money or beer) are encouraged, but they are expected to be of a quality and completeness consistent with the existing work. Here is a quick punch list of what this means: o Code should be of the same coding style. It's pretty much Perl Best Practices (PBP)-compliant. It's fine if you don't like it. It's not all my preferred coding style, either, but it's a well-reasoned and consistent format. o POD must be written for each method. It won't pass tests without this. o POD must be complete. The current style is mostly consistent and generally complete. You should always document purpose, return, parameters, and exceptions to a level that you would like to see everyone else write. Or at least to the level that I would like to see everyone else write. o There must be at least one test for every method. Set/get pairs can share a test. Usually there should be more than one, as you should also test failure and data conditions. If this means you refactor for testability, so be it. o Tests must all pass. New test, old tests, doesn't matter. I'll run 'make test' and if it doesn't pass, I'll toss it back to you. o Tests must provide 100% statement, branch, and condition coverage. You can check this by running 'make testcover'. This can be difficult. If you've done everything else, I'll be glad to advise you on how to do this. I won't do it for you. Also, that level of coverage still doesn't guarantee correctness, so you may need more tests beyond that. o If you're fixing a bug, you should add a test or augment an existing test to invoke the defect condition. And if it's not obvious, use comments to explain the test or test condition. That's enough for now. SUPPORT AND DOCUMENTATION After installing, you can find documentation for this module with the perldoc command. perldoc P4::Objects You can also look for information at: Search CPAN http://search.cpan.org/dist/P4-Objects CPAN Request Tracker: http://rt.cpan.org/NoAuth/Bugs.html?Dist=P4-Objects AnnoCPAN, annotated CPAN documentation: http://annocpan.org/dist/P4-Objects CPAN Ratings: http://cpanratings.perl.org/d/P4-Objects COPYRIGHT AND LICENCE Copyright (C) 2007 Stephen Vance, <[email protected]> Written on behalf of The MathWorks, Inc. This program is released under the following license: Artistic
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.