X-Git-Url: http://git.euphorik.ch/?p=euphorik.git;a=blobdiff_plain;f=tools%2Ftools.rb;h=127e3f35b8fcdb3cdfae77c02d2e4c7913a03022;hp=5472a3c209d94f2065efa478e24f641ff644a643;hb=7cf389481b133c57d6563b5e6747131f4abbf589;hpb=4aa85a2e80963b73773e748fd4402fab2ad852ce
diff --git a/tools/tools.rb b/tools/tools.rb
index 5472a3c..127e3f3 100644
--- a/tools/tools.rb
+++ b/tools/tools.rb
@@ -14,7 +14,7 @@ Euphorik is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-
++
You should have received a copy of the GNU General Public License
along with Euphorik. If not, see .
=end
@@ -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