summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2008-08-25 11:01:37 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2008-08-25 11:01:37 +0000
commit116091a1d2ea1e4fd5c4838760d11beab2d5cea3 (patch)
tree6b1bbba99f126bf854c12083ea5a21c970f7a7ae /lib
parent2f3f2d8b12483b72f78f7f4704d8641451b16832 (diff)
downloadredmine-116091a1d2ea1e4fd5c4838760d11beab2d5cea3.tar.gz
redmine-116091a1d2ea1e4fd5c4838760d11beab2d5cea3.zip
Fixes platform determination under JRuby (#1804).
git-svn-id: http://redmine.rubyforge.org/svn/trunk@1753 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'lib')
-rw-r--r--lib/redmine/platform.rb26
-rw-r--r--lib/redmine/scm/adapters/abstract_adapter.rb4
2 files changed, 28 insertions, 2 deletions
diff --git a/lib/redmine/platform.rb b/lib/redmine/platform.rb
new file mode 100644
index 000000000..f41b92f2e
--- /dev/null
+++ b/lib/redmine/platform.rb
@@ -0,0 +1,26 @@
+# Redmine - project management software
+# Copyright (C) 2006-2008 Jean-Philippe Lang
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program 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 this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+module Redmine
+ module Platform
+ class << self
+ def mswin?
+ (RUBY_PLATFORM =~ /(:?mswin|mingw)/) || (RUBY_PLATFORM == 'java' && (ENV['OS'] || ENV['os']) =~ /windows/i)
+ end
+ end
+ end
+end
diff --git a/lib/redmine/scm/adapters/abstract_adapter.rb b/lib/redmine/scm/adapters/abstract_adapter.rb
index c48ed2068..553b69963 100644
--- a/lib/redmine/scm/adapters/abstract_adapter.rb
+++ b/lib/redmine/scm/adapters/abstract_adapter.rb
@@ -138,7 +138,7 @@ module Redmine
end
def shell_quote(str)
- if RUBY_PLATFORM =~ /mswin/
+ if Redmine::Platform.mswin?
'"' + str.gsub(/"/, '\\"') + '"'
else
"'" + str.gsub(/'/, "'\"'\"'") + "'"
@@ -186,7 +186,7 @@ module Redmine
# Hides username/password in a given command
def self.hide_credential(cmd)
- q = (RUBY_PLATFORM =~ /mswin/ ? '"' : "'")
+ q = (Redmine::Platform.mswin? ? '"' : "'")
cmd.to_s.gsub(/(\-\-(password|username))\s+(#{q}[^#{q}]+#{q}|[^#{q}]\S+)/, '\\1 xxxx')
end