MOD mineurs
[euphorik.git] / tools / tools.rb
index 3fa7497..804dac7 100644 (file)
@@ -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 <http://www.gnu.org/licenses/>.
 =end
@@ -28,9 +28,9 @@ along with Euphorik.  If not, see <http://www.gnu.org/licenses/>.
 #  - 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'
@@ -55,7 +55,9 @@ class VerifJS
             end
          elsif fichier[-3, 3] == '.js'
             puts "== Vérification de #{dossier}/#{fichier} =="
-            system("java org.mozilla.javascript.tools.shell.Main jslint.js #{dossier}/#{fichier}")
+            # 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
@@ -181,8 +183,34 @@ 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")
@@ -191,18 +219,16 @@ class Commande
             stdout << data if stream == :stdout
          }
          puts stdout
-      }\r
+      }
 =end
-      
-      
-      #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
+   
+   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