Git Product home page Git Product logo

seacan's Introduction

NAME

Seacan - A tool to prepare a self-contained app directory.

USAGE

Let's say I want to make a distribution for my app named "CoffeeChair".

First, prepare a configuration file in TOML format, named coffeechair_seacan.toml

[seacan]
output = "/opt/CoffeeChair"
app = "/src/CoffeeChair"
app_name = "CoffeeChair.pl"

[perl]
version = "5.20.0"
configure_args = "-Dusethreads"

Noted that The source code of the CoffeeChair must be placed at "/src/CoffeeChair" first.

Now, build the the distribution with this, the output directory /opt/CoffeeChair will be filled by this process:

seacan coffeechair_seacan.toml

Here's how the directyr looks like:

- /opt/CoffeeChair
  - perlbrew/perls/seacan-perl
  - local/
  - app/CoffeeChair

Afterwards, invoking commands like this:

PERL5LIB=/opt/Coffeechair/local/lib/perl5 /opt/CoffeeChair/perlbrew/perls/seacan-perl/bin/perl /opt/CoffeeChair/app/CoffeeChair/bin/app.pl

Or alternatively, a launcher script with the that command can be found at:

 /opt/CoffeeChair/bin/CoffeeChair

AUTHORS

Kang-min Liu <[email protected]>

LICENCE

The MIT License

DISCLAIMER OF WARRANTY

BECAUSE THIS SOFTWARE IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE SOFTWARE, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE SOFTWARE "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE SOFTWARE IS WITH YOU. SHOULD THE SOFTWARE PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR, OR CORRECTION.

IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE SOFTWARE AS PERMITTED BY THE ABOVE LICENCE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE SOFTWARE (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE SOFTWARE TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

seacan's People

Contributors

xsawyerx avatar gugod avatar mickeyn avatar nxadm avatar

Stargazers

Michal Jurosz avatar Keith Broughton avatar Rick Bychowski avatar  avatar Evan Staton avatar Leo Lapworth avatar Ivan Bessarabov avatar  avatar Chris Fields avatar Andrew Hewus Fresh avatar Brad Lhotsky avatar leonidas avatar Robin Smidsrød avatar Naveed Massjouni avatar Zaki Mughal [sivoais] avatar Nick Pongratz avatar Brian Wisti avatar

Watchers

Aleksei Surikov avatar  avatar Zaki Mughal [sivoais] avatar David H. Adler avatar Brian Wisti avatar James Cloos avatar  avatar  avatar  avatar

seacan's Issues

Readme.me: wrong instructions

I know it's work in progress and that in the future the script will work as described, but for now the instructions should read:

Build it
seacan myapp_seacan.toml

instead of:
seacan build --config myapp_seacan.toml

Regards,

C.

Limited by dependencies

The idea behind Secan is terrific, but I find it severely limited by depending on Moo and TOML. One of the more prevalent scenarios for this sort of deployment, I believe, is on a machine where you do not control the distribution perl (or even have root), but you want to create a new Perl install. I would argue that a script like this should rely on only core Perl modules to promote this sort of workflow in order to accomplish peak utility.

Allow Git repo as directory

When developing, it's sometimes necessary to replace the application directory with a Git repo, so you wouldn't have to build everything all over again when you want to test a new version or commit or branch.

It would be better if it was possible to ask Seacan for a particular Git repo to be used as the app dir and it will check out the repo, so it's then possible to use the result as a development environment that you can just cd into and run git pull when you want to test new code.

Flags for CURL

Either not using curl or providing a way to edit the flags for curl.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.