Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses
 
PerlMonks  

Re^3: Pjam - continues integration for PERL, using pinto.

by Anonymous Monk
on Dec 27, 2013 at 11:48 UTC ( [id://1068506]=note: print w/replies, xml ) Need Help??


in reply to Re^2: Pjam - continues integration for PERL, using pinto.
in thread Pjam - continues integration for PERL, using pinto.

I really don't understand the purpose behind pjam -- its like a shell script I coded myself to remember  pinto ... perl Build.PL && ./Build dist

something like milla/minilla except written in ruby with giant if/else block

I wouldn't trust this style of coding

cmd = "export version_postfix='#{version_postfix}' && cd #{project_id} +/#{config['application']} && rm -rf cpanlib && mkdir cpanlib/ && cp - +r #{local_lib}/* cpanlib/ && rm -rf *.gz && ./Build realclean --quiet + 1>/dev/null && perl Build.PL --quiet 1>/dev/null 2>module_build.err. +log && ./Build manifest --quiet 2>/dev/null 1>/dev/null && ./Build di +st --quiet 1>/dev/null && ln -fs `ls #{project_id}/#{config['applicat +ion']}/*.gz` #{project_id}/current.tar.gz && echo -n `ls *.gz` > #{pr +oject_id}/current.txt"

I don't understand why anyone except the author would ever use pjam

Replies are listed 'Best First'.
Re^4: Pjam - continues integration for PERL, using pinto.
by educated_foo (Vicar) on Dec 27, 2013 at 11:57 UTC
    Eek. Or this:
    cmd = "export version_postfix='#{version_postfix}' && cd #{project_id} +/#{src} && rm -rf *.gz && rm -rf MANIFEST && perl Build.PL --quiet 1> +/dev/null 2>module_build.err.log && ./Build realclean && perl Build. +PL --quiet 1>/dev/null 2>module_build.err.log && ./Build manifest --q +uiet 2>/dev/null 1>/dev/null && ./Build dist --quiet 1>/dev/null"
    Hopefully you don't have any important zipped files lying around in that directory. And hopefully nothing anywhere near this script involves shell metacharacters, because this guy has never heard of escaping. An amateur implementation of a pointless idea -- all too common in Ruby.
Re^4: Pjam - continues integration for PERL, using pinto.
by melezhik (Monk) on Dec 27, 2013 at 16:04 UTC

    I really don't understand the purpose ... - If to say about pjam purposes please read my previous comment

    I wouldn't trust this style of coding - really, you don't have to (:, it *just works for me*, and I wrote in documentation *WHEN it may works for others* ... and ... don't take implementation too serious, one day I may re-factoring this. I know code may look ugly, but again *it just works for me*, it's prototype, but I use it on my day to day basis and this make life easier , so why I can't share this with others, we call it open source, don't we?

      Right now it's only about subversion, but it can be generalized on other SCMs.

      Sure it can, if you start from scratch ... giant if/else trees don't lend to extension very well or collaboration ... they're not plugins

      Also I wouldn't call svn log && svn up "scm integration" :)

      so why I can't share this with others, we call it open source, don't we?

      You can share it , you already did :) Now you say "i made this, works for me" , and that is fantastic,

      now others get to decide if they should choose pjam based on criteria that is important to them

      Your descriptions of what pjam did sounded so wonderously buzz-wordy I had to look at the source to see what it does. Now that I've seen, no thanks.

        Your descriptions of what pjam did sounded so wonderously buzz-wordy - thank you, I will improve documentation, (:

        Also I wouldn't call svn log && svn up "scm integration" :) May be term I used not that understandable. But what I meant - pjam is intended as tool one can use in processes of continues integration, one of a part of it is a continues builds upon changes in a sources code, commonly stored in SCM system. Currently the implementation is quite primitive, but it's just a prototype, one day I may want to bring it to Jenkins or some others CI platform, but try to think about the idea behind pjam, not the current implementation.

        giant if/else trees don't lend to extension very well or collaboration ... they're not plugins who said it should ? pjam is not a plugin, it's tool with command line api, plus web server api (limited api to pjam client) + some concept of directory layouts and business logic; It's not a library; It's not intended to be reused in this way; It's just intended to be used directly, as said in docs. And once again, I saw so many comments concerning code style, I'd agree with such a criticism in context of ideal code, but for end user it just works, why one should care about source code, while it works?; One day I will refactor that all, and I will, once again it *just work for me*, and it may work for others;

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1068506]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (3)
As of 2024-03-29 04:33 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found