Skip to content

Commit fd1fabe

Browse files
luke-hillbarancev
authored andcommitted
[crazyfun] Move everything under one directory (No fixes)
Signed-off-by: Alexei Barantsev <[email protected]>
1 parent 01fcbe9 commit fd1fabe

File tree

15 files changed

+375
-390
lines changed

15 files changed

+375
-390
lines changed

Rakefile

Lines changed: 185 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ require 'rake_tasks/files'
77
require 'net/telnet'
88
require 'stringio'
99
require 'fileutils'
10+
require 'open-uri'
1011

1112
include Rake::DSL
1213

@@ -33,6 +34,13 @@ require 'rake_tasks/selenium_rake/java_formatter'
3334
require 'rake_tasks/selenium_rake/cpp_formatter'
3435
require 'rake_tasks/selenium_rake/type_definitions_generator'
3536

37+
# Require the migrated rake files, which need to be tidied up further
38+
# These are the final items mixed into the global NS
39+
require 'rake_tasks/bazel'
40+
require 'rake_tasks/copyright'
41+
require 'rake_tasks/files'
42+
require 'rake_tasks/python'
43+
3644
# Our modifications to the Rake library
3745
require 'rake_tasks/rake/task'
3846

@@ -81,7 +89,7 @@ crazy_fun.create_tasks(Dir["rb/**/build.desc"])
8189

8290
# If it looks like a bazel target, build it with bazel
8391
rule /\/\/.*/ do |task|
84-
task.out = Bazel::execute("build", ["--workspace_status_command", "scripts/build-info.py"], task.name)
92+
task.out = Bazel.execute("build", ["--workspace_status_command", "scripts/build-info.py"], task.name)
8593
end
8694

8795
# Spoof tasks to get CI working with bazel
@@ -449,6 +457,182 @@ task :authors do
449457
sh "(git log --use-mailmap --format='%aN <%aE>' ; cat .OLD_AUTHORS) | sort -uf > AUTHORS"
450458
end
451459

460+
namespace :copyright do
461+
task :update do
462+
Copyright.update(
463+
FileList['javascript/**/*.js'].exclude(
464+
'javascript/atoms/test/jquery.min.js',
465+
'javascript/jsunit/**/*.js',
466+
'javascript/node/selenium-webdriver/node_modules/**/*.js',
467+
'javascript/selenium-core/lib/**/*.js',
468+
'javascript/selenium-core/scripts/ui-element.js',
469+
'javascript/selenium-core/scripts/ui-map-sample.js',
470+
'javascript/selenium-core/scripts/user-extensions.js',
471+
'javascript/selenium-core/scripts/xmlextras.js',
472+
'javascript/selenium-core/xpath/**/*.js'
473+
)
474+
)
475+
Copyright.update(FileList['py/**/*.py'], style: '#')
476+
Copyright.update(
477+
FileList['rb/**/*.rb'],
478+
style: '#',
479+
prefix: ["# frozen_string_literal: true\n", "\n"]
480+
)
481+
Copyright.update(FileList['java/**/*.java'])
482+
end
483+
end
484+
485+
namespace :side do
486+
task atoms: [
487+
'//javascript/atoms/fragments:find-element'
488+
] do
489+
# TODO: move directly to IDE's directory once the repositories are merged
490+
baseDir = 'build/javascript/atoms'
491+
mkdir_p baseDir
492+
493+
[
494+
Rake::Task['//javascript/atoms/fragments:find-element'].out
495+
].each do |atom|
496+
name = File.basename(atom)
497+
498+
puts "Generating #{atom} as #{name}"
499+
File.open(File.join(baseDir, name), 'w') do |f|
500+
f << "// GENERATED CODE - DO NOT EDIT\n"
501+
f << 'module.exports = '
502+
f << IO.read(atom).strip
503+
f << ";\n"
504+
end
505+
end
506+
end
507+
end
508+
509+
namespace :jruby do
510+
desc 'Update jruby version'
511+
task :update do
512+
jruby_version = '9.2.8.0'
513+
jruby_gems = { 'inifile' => '3.0.0' }
514+
jar_name = "jruby-complete-#{jruby_version}.jar"
515+
url = "https://repo1.maven.org/maven2/org/jruby/jruby-complete/#{jruby_version}/#{jar_name}"
516+
517+
Dir.chdir('third_party/jruby') do
518+
puts "Downloading #{jar_name} from #{url}..."
519+
File.open(jar_name, 'wb') do |write_file|
520+
open(url, 'rb') do |read_file|
521+
write_file.write(read_file.read)
522+
end
523+
end
524+
525+
puts 'Installing gems...'
526+
jruby_gems.each do |gem_name, gem_version|
527+
sh 'java', '-jar', jar_name, '-S', 'gem', 'install', '-i', "./#{gem_name}", gem_name, '-v', gem_version
528+
sh 'jar', 'uf', jar_name, '-C', gem_name, '.'
529+
rm_rf gem_name
530+
end
531+
532+
puts 'Bumping VERSION...'
533+
version = `java -jar #{jar_name} -v`.split("\n").first
534+
File.write('VERSION', "#{version}\n")
535+
536+
mv jar_name, 'jruby-complete.jar'
537+
puts 'Done!'
538+
end
539+
end
540+
end
541+
542+
namespace :node do
543+
task atoms: %w(
544+
//javascript/atoms/fragments:is-displayed
545+
//javascript/webdriver/atoms:get-attribute
546+
) do
547+
baseDir = 'javascript/node/selenium-webdriver/lib/atoms'
548+
mkdir_p baseDir
549+
550+
[
551+
Rake::Task['//javascript/atoms/fragments:is-displayed'].out,
552+
Rake::Task['//javascript/webdriver/atoms:get-attribute'].out
553+
].each do |atom|
554+
name = File.basename(atom)
555+
556+
puts "Generating #{atom} as #{name}"
557+
File.open(File.join(baseDir, name), 'w') do |f|
558+
f << "// GENERATED CODE - DO NOT EDIT\n"
559+
f << 'module.exports = '
560+
f << IO.read(atom).strip
561+
f << ";\n"
562+
end
563+
end
564+
end
565+
566+
task :build do
567+
sh 'bazel build //javascript/node/selenium-webdriver'
568+
end
569+
570+
task 'dry-run': [
571+
'node:build'
572+
] do
573+
sh 'bazel run javascript/node/selenium-webdriver:selenium-webdriver.pack'
574+
end
575+
576+
task deploy: [
577+
'node:build'
578+
] do
579+
sh 'bazel run javascript/node/selenium-webdriver:selenium-webdriver.publish'
580+
end
581+
582+
task :docs do
583+
sh 'node javascript/node/gendocs.js'
584+
end
585+
end
586+
587+
namespace :py do
588+
task prep: [
589+
'//javascript/atoms/fragments:is-displayed',
590+
'//javascript/webdriver/atoms:get-attribute',
591+
'//third_party/js/selenium:webdriver_xpi'
592+
] do
593+
py_home = 'py/'
594+
remote_py_home = py_home + 'selenium/webdriver/remote/'
595+
firefox_py_home = py_home + 'selenium/webdriver/firefox/'
596+
597+
if SeleniumRake::Checks.windows?
598+
remote_py_home = remote_py_home.gsub(/\//, '\\')
599+
firefox_py_home = firefox_py_home .gsub(/\//, '\\')
600+
end
601+
602+
cp Rake::Task['//javascript/atoms/fragments:is-displayed'].out, remote_py_home + "isDisplayed.js", verbose: true
603+
cp Rake::Task['//javascript/webdriver/atoms:get-attribute'].out, remote_py_home + "getAttribute.js", verbose: true
604+
605+
cp Rake::Task['//third_party/js/selenium:webdriver_xpi'].out, firefox_py_home, verbose: true
606+
cp 'third_party/js/selenium/webdriver.json', firefox_py_home + 'webdriver_prefs.json', verbose: true
607+
cp 'LICENSE', py_home + 'LICENSE', verbose: true
608+
end
609+
610+
bazel :unit do
611+
Bazel.execute('test', [], '//py:unit')
612+
end
613+
614+
task docs: :prep do
615+
sh 'tox -c py/tox.ini -e docs', verbose: true
616+
end
617+
618+
task install: :prep do
619+
Dir.chdir('py') do
620+
sh py_exe + ' setup.py install', verbose: true
621+
end
622+
end
623+
624+
%w[chrome ff marionette ie edge blackberry remote_firefox safari].each do |browser|
625+
browser_data = SeleniumRake::Browsers::BROWSERS[browser][:python]
626+
deps = browser_data[:deps] || []
627+
deps += [:prep]
628+
driver = browser_data[:driver]
629+
630+
task "#{browser}_test" => deps do
631+
tox_test driver
632+
end
633+
end
634+
end
635+
452636
at_exit do
453637
if File.exist?(".git") && !SeleniumRake::Checks.windows?
454638
system "sh", ".git-fixfiles"

rakelib/bazel.rake renamed to rake_tasks/bazel.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
require 'open3'
33
require 'rake/task'
44
require 'rake_tasks/selenium_rake/checks'
5-
require 'rakelib/bazel/task'
6-
require 'rakelib/rake/dsl'
5+
require 'rake_tasks/bazel/task'
6+
require 'rake_tasks/rake/dsl'
77

88
module Bazel
99
class << self
File renamed without changes.

rakelib/copyright.rake renamed to rake_tasks/copyright.rb

Lines changed: 0 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,5 @@
11
# frozen_string_literal: true
22

3-
namespace :copyright do
4-
task :update do
5-
Copyright.update(
6-
FileList['javascript/**/*.js'].exclude(
7-
'javascript/atoms/test/jquery.min.js',
8-
'javascript/jsunit/**/*.js',
9-
'javascript/node/selenium-webdriver/node_modules/**/*.js',
10-
'javascript/selenium-core/lib/**/*.js',
11-
'javascript/selenium-core/scripts/ui-element.js',
12-
'javascript/selenium-core/scripts/ui-map-sample.js',
13-
'javascript/selenium-core/scripts/user-extensions.js',
14-
'javascript/selenium-core/scripts/xmlextras.js',
15-
'javascript/selenium-core/xpath/**/*.js'
16-
)
17-
)
18-
Copyright.update(
19-
FileList['py/**/*.py'],
20-
style: '#'
21-
)
22-
Copyright.update(
23-
FileList['rb/**/*.rb'],
24-
style: '#',
25-
prefix: ["# frozen_string_literal: true\n", "\n"]
26-
)
27-
Copyright.update(
28-
FileList['java/**/*.java']
29-
)
30-
end
31-
end
32-
333
module Copyright
344
module_function
355

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
require_relative 'tasks'
1+
require_relative 'tasks'

rake_tasks/crazy_fun/mappings/folder.rb

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
require 'rake_tasks/crazy_fun/mappings/common'
22

3-
43
require_relative 'folder_mappings'
54
require_relative 'folder/add_dependencies'
65
require_relative 'folder/check_preconditions'

0 commit comments

Comments
 (0)