X-Git-Url: http://git.euphorik.ch/?p=euphorik.git;a=blobdiff_plain;f=tools%2Ftools.rb;h=804dac753f710fcdfb48875d04c4aa053b05088c;hp=5472a3c209d94f2065efa478e24f641ff644a643;hb=a47964940e7918e81acb7f87fd2f1d5d2ff89778;hpb=4aa85a2e80963b73773e748fd4402fab2ad852ce diff --git a/tools/tools.rb b/tools/tools.rb index 5472a3c..804dac7 100644 --- a/tools/tools.rb +++ b/tools/tools.rb @@ -28,12 +28,12 @@ along with Euphorik. If not, see . # - Mise en production et en preproduction # tools.rb peut s'utiliser à la ligne de commande, exemples : # * Mise en production : -# ./tools.rb --doprod gburri@euphorik.ch:/var/www/euphorik +# ./tools.rb prod gburri@euphorik.ch:/var/www/euphorik # * Mise en préproduction, l'emplacement de production peut être indiqué pour copier la base -# ./tools.rb --dopreprod gburri@euphorik.ch:/var/www/euphorik_preprod --prod gburri@euphorik.ch:/var/www/euphorik +# ./tools.rb pre gburri@euphorik.ch:/var/www/euphorik_preprod gburri@euphorik.ch:/var/www/euphorik # voir : http://net-ssh.rubyforge.org/ssh/v2/api/index.html -require 'net/ssh' +# require 'net/ssh' # Classe permettant la vérification du code JS pas jslint. # Passe en revu chaque fichier js de manière récursive à partir d'un dossier de départ.s @@ -44,19 +44,21 @@ class VerifJS end def verifier - verifierRecu(@dossier) + verifierRecur(@dossier) end - def verifierRecu(dossier) + def verifierRecur(dossier) Dir.foreach(dossier){|fichier| if fichier != '.' and fichier != '..' and File.directory?(fichier) and fichier != 'dirs' - if not verifierRecu(dossier + '/' + fichier) + if not verifierRecur(dossier + '/' + fichier) return false end elsif fichier[-3, 3] == '.js' puts "== Vérification de #{dossier}/#{fichier} ==" - system("java org.mozilla.javascript.tools.shell.Main jslint.js #{dossier}/#{fichier}") - puts $?.exitstatus + # TODO : mettre un if pour la version windows si dessous + #system("java org.mozilla.javascript.tools.shell.Main jslint.js #{dossier}/#{fichier}") + system("rhino jslint.js #{dossier}/#{fichier}") + # puts $?.exitstatus if $?.exitstatus > 0 return false end @@ -181,9 +183,35 @@ end # Traite la ligne de commande lorsque tools.rb est utilisé comme tel class Commande + def initialize + @miseEnProd = MiseEnProd.new( + "gburri@euphorik.ch:/var/www/euphorik", + "gburri@euphorik.ch:/var/www/euphorik_preprod" + ) + @verifJS = VerifJS.new("../js") + @version = Version.new("..") + end + def traiter - #ARGV - + if ARGV.size == 0 + afficherUsage + return + end + + case ARGV[0] + when 'prod' + @version.maj() + @miseEnProd.miseEnProd() + when 'pre' + @version.maj() + @miseEnProd.miseEnPreProd() + when 'js' + @verifJS.verifier() + when 'version' + @version.maj() + end + +=begin Net::SSH.start('euphorik.ch', 'gburri') {|ssh| output = ssh.exec!("hostname") stdout = "" @@ -192,16 +220,15 @@ class Commande } puts stdout } - - - #miseEnProd = MiseEnProd.new("gburri@euphorik.ch:/var/www/euphorik", "gburri@euphorik.ch:/var/www/euphorik_preprod") - #miseEnProd.miseEnPreProd() - - #verifJS = VerifJS.new("../js") - #verifJS.verifier() - - #version = Version.new("..") - #version.maj() +=end + end + + def afficherUsage + puts "Usage : tools.rb (prod | pre | js | version)\n" + + " prod : Mise en production\n" + + " preprod : Mise en préproduction, copie les données en production\n" + + " js : vérification des fichiers JavaScript\n" + + " version : met à jour la version à partir du fichier VERSION" end end