Skip to content

Commit

Permalink
Reorganizing .NET bindings code structure.
Browse files Browse the repository at this point in the history
Embraces the concept of one build.desc file per buildable artifact. Also
renames directories to make build targets easier to type.
  • Loading branch information
jimevans committed Aug 14, 2013
1 parent 196dbbe commit 7da094f
Show file tree
Hide file tree
Showing 566 changed files with 703 additions and 512 deletions.
30 changes: 15 additions & 15 deletions WebDriver.sln
Original file line number Diff line number Diff line change
Expand Up @@ -34,45 +34,45 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "json-cpp", "third_party\jso
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mongoose", "third_party\mongoose\mongoose.vcxproj", "{9AEBD612-232D-40CB-BE2C-F2B911FD6228}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Selenium.Core", "dotnet\src\Selenium.Core\Selenium.Core.csproj", "{69F4FF0E-13DE-4AF6-B8AF-572A36239083}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Selenium.Core", "dotnet\src\core\Selenium.Core.csproj", "{69F4FF0E-13DE-4AF6-B8AF-572A36239083}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Selenium.WebDriverBackedSelenium", "dotnet\src\Selenium.WebDriverBackedSelenium\Selenium.WebDriverBackedSelenium.csproj", "{0EAF6AA9-B712-464B-A11B-FA3CF7577D80}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Selenium.WebDriverBackedSelenium", "dotnet\src\webdriverbackedselenium\Selenium.WebDriverBackedSelenium.csproj", "{0EAF6AA9-B712-464B-A11B-FA3CF7577D80}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebDriver.Support", "dotnet\src\WebDriver.Support\WebDriver.Support.csproj", "{A9779443-E254-47E9-B733-8AC6D3662CA6}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebDriver.Support", "dotnet\src\support\WebDriver.Support.csproj", "{A9779443-E254-47E9-B733-8AC6D3662CA6}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebDriver.Common.Tests", "dotnet\test\WebDriver.Common.Tests\WebDriver.Common.Tests.csproj", "{1580564D-B6B8-4BD8-A120-001E3E8E5BE6}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebDriver.Common.Tests", "dotnet\test\common\WebDriver.Common.Tests.csproj", "{1580564D-B6B8-4BD8-A120-001E3E8E5BE6}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebDriver.Remote.Tests", "dotnet\test\WebDriver.Remote.Tests\WebDriver.Remote.Tests.csproj", "{1D3DF4DB-6C11-480D-9774-F489B2EF62D8}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebDriver.Remote.Tests", "dotnet\test\remote\WebDriver.Remote.Tests.csproj", "{1D3DF4DB-6C11-480D-9774-F489B2EF62D8}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebDriver.Chrome.Tests", "dotnet\test\WebDriver.Chrome.Tests\WebDriver.Chrome.Tests.csproj", "{81D664AA-FC03-425E-98A8-B4EAF8236776}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebDriver.Chrome.Tests", "dotnet\test\chrome\WebDriver.Chrome.Tests.csproj", "{81D664AA-FC03-425E-98A8-B4EAF8236776}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebDriver.Firefox.Tests", "dotnet\test\WebDriver.Firefox.Tests\WebDriver.Firefox.Tests.csproj", "{630FC167-169E-4CFD-83ED-9BA4AA8A0FB4}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebDriver.Firefox.Tests", "dotnet\test\firefox\WebDriver.Firefox.Tests.csproj", "{630FC167-169E-4CFD-83ED-9BA4AA8A0FB4}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebDriver.IE.Tests", "dotnet\test\WebDriver.IE.Tests\WebDriver.IE.Tests.csproj", "{ECF3B49F-68B0-4A2A-8559-6D7FB906AA88}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebDriver.IE.Tests", "dotnet\test\ie\WebDriver.IE.Tests.csproj", "{ECF3B49F-68B0-4A2A-8559-6D7FB906AA88}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebDriver.Support.Tests", "dotnet\test\WebDriver.Support.Tests\WebDriver.Support.Tests.csproj", "{1B70379B-5325-4243-8629-5C32802E9826}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebDriver.Support.Tests", "dotnet\test\support\WebDriver.Support.Tests.csproj", "{1B70379B-5325-4243-8629-5C32802E9826}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Selenium.Core.Tests", "dotnet\test\Selenium.Core.Tests\Selenium.Core.Tests.csproj", "{42D1B587-9544-452F-8B76-4F2A65BC9BE5}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Selenium.Core.Tests", "dotnet\test\core\Selenium.Core.Tests.csproj", "{42D1B587-9544-452F-8B76-4F2A65BC9BE5}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Selenium.WebDriverBackedSelenium.Tests", "dotnet\test\Selenium.WebDriverBackedSelenium.Tests\Selenium.WebDriverBackedSelenium.Tests.csproj", "{68CF4628-4148-4627-ACA1-D4C225365D3F}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Selenium.WebDriverBackedSelenium.Tests", "dotnet\test\webdriverbackedselenium\Selenium.WebDriverBackedSelenium.Tests.csproj", "{68CF4628-4148-4627-ACA1-D4C225365D3F}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "imehandler", "cpp\imehandler\imehandler.vcxproj", "{37F9EF6B-F69C-4764-9687-C63C608C476B}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebDriver.Android.Tests", "dotnet\test\WebDriver.Android.Tests\WebDriver.Android.Tests.csproj", "{3102A61F-3025-482C-9515-9FC239746658}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebDriver.Android.Tests", "dotnet\test\android\WebDriver.Android.Tests.csproj", "{3102A61F-3025-482C-9515-9FC239746658}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebDriver", "dotnet\src\WebDriver\WebDriver.csproj", "{83C13931-B27C-425C-AAF0-5F96EEA4F173}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebDriver", "dotnet\src\webdriver\WebDriver.csproj", "{83C13931-B27C-425C-AAF0-5F96EEA4F173}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "webdriver-server", "cpp\webdriver-server\webdriver-server.vcxproj", "{35A23A16-EF17-4CC3-8854-785025A304F3}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "webdriver-firefox-latest", "cpp\webdriver-firefox\webdriver-firefox-latest.vcxproj", "{FE99DB39-DAB7-43BD-BF08-6549FAB88C13}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "webdriver-firefox-previous", "cpp\webdriver-firefox\webdriver-firefox-previous.vcxproj", "{322CD167-C8F9-4E13-8F8A-DFAE834255AA}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebDriver.Safari.Tests", "dotnet\test\WebDriver.Safari.Tests\WebDriver.Safari.Tests.csproj", "{92551430-7C30-421B-A81E-0B08163AC59C}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebDriver.Safari.Tests", "dotnet\test\safari\WebDriver.Safari.Tests.csproj", "{92551430-7C30-421B-A81E-0B08163AC59C}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "IEDriverServer", "cpp\IEDriverServer\IEDriverServer.vcxproj", "{08C3286F-F132-44EC-80F0-2DF30D87A5D3}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebDriver.PhantomJS.Tests", "dotnet\test\WebDriver.PhantomJS.Tests\WebDriver.PhantomJS.Tests.csproj", "{2329720E-A694-4A6F-B4E6-EDEA911298E0}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebDriver.PhantomJS.Tests", "dotnet\test\phantomjs\WebDriver.PhantomJS.Tests.csproj", "{2329720E-A694-4A6F-B4E6-EDEA911298E0}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "webdriver-firefox-esr-previous", "cpp\webdriver-firefox\webdriver-firefox-esr-previous.vcxproj", "{D137A27D-8324-4024-97FC-D2D29E3EFE60}"
EndProject
Expand Down
Binary file added WebDriver.snk
Binary file not shown.
262 changes: 18 additions & 244 deletions dotnet/build.desc
Original file line number Diff line number Diff line change
@@ -1,253 +1,27 @@
dotnet_library(name = "dotnet",
srcs = "src/WebDriver/**/*.cs",
refs = [
"System.dll",
"System.Core.dll",
"System.Data.dll",
"System.Drawing.dll",
"System.Xml.dll"
],
merge_refs = [
"third_party/dotnet/json-net-4.5r11/net40/Newtonsoft.Json.dll",
"third_party/dotnet/dotnetzip-1.9/Ionic.Zip.dll"
],
resources = [
{"//javascript/firefox-driver:webdriver" : "WebDriver.FirefoxExt.zip"},
{"//cpp:noblur" : "WebDriver.FirefoxNoFocus.x86.dll"},
{"//cpp:noblur64" : "WebDriver.FirefoxNoFocus.x64.dll"},
{"javascript/safari-driver/prebuilt/SafariDriver.safariextz" : "WebDriver.SafariExtension"}
],
framework_ver = "net40",
out = "WebDriver.dll"
)

dotnet_library(name = "dotnet35",
srcs = "src/WebDriver/**/*.cs",
refs = [
"System.dll",
"System.Core.dll",
"System.Data.dll",
"System.Drawing.dll",
"System.Xml.dll"
],
merge_refs = [
"third_party/dotnet/json-net-4.5r11/net35/Newtonsoft.Json.dll",
"third_party/dotnet/dotnetzip-1.9/Ionic.Zip.dll"
],
resources = [
{"//javascript/firefox-driver:webdriver" : "WebDriver.FirefoxExt.zip"},
{"//cpp:noblur" : "WebDriver.FirefoxNoFocus.x86.dll"},
{"//cpp:noblur64" : "WebDriver.FirefoxNoFocus.x64.dll"}
],
framework_ver = "net35",
out = "WebDriver.dll"
)

dotnet_package(name = "dotnet-package",
packageid = "Selenium.WebDriver",
deps = [
":dotnet",
":dotnet35"
],
title = "Selenium WebDriver",
summary = ".NET bindings for the Selenium WebDriver API",
description = "Selenium is a set of different software tools each with a different approach to supporting browser automation. These tools are highly flexible, allowing many options for locating and manipulating elements within a browser, and one of its key features is the support for automating multiple browser platforms. This package contains the .NET bindings for the newer, more concise and object-based Selenium WebDriver API, which uses native OS-level events to manipulate the browser, bypassing the JavaScript sandbox, and does not require the Selenium Server to automate the browser.",
tags = "Selenium WebDriver browser automation",
assemblies = [
{"System.Drawing" : ""}
]
)

dotnet_library(name = "support",
srcs = "src/WebDriver.Support/**/*.cs",
refs = [
"System.dll",
"System.Core.dll",
"System.Data.dll",
"System.Drawing.dll",
"System.Xml.dll",
":dotnet"
],
framework_ver = "net40",
out = "WebDriver.Support.dll"
)

dotnet_library(name = "support35",
srcs = "src/WebDriver.Support/**/*.cs",
refs = [
"System.dll",
"System.Core.dll",
"System.Data.dll",
"System.Drawing.dll",
"System.Xml.dll",
":dotnet35"
],
framework_ver = "net35",
out = "WebDriver.Support.dll"
)

dotnet_package(name = "support-package",
packageid = "Selenium.Support",
dotnet_release(name = "release_strongnamed",
deps = [
":support",
":support35"
],
title = "Selenium WebDriver Support Classes",
summary = "Support classes for the .NET bindings of the Selenium WebDriver API",
description = "Selenium is a set of different software tools each with a different approach to supporting browser automation. These tools are highly flexible, allowing many options for locating and manipulating elements within a browser, and one of its key features is the support for automating multiple browser platforms. This package contains .NET support classes for the Selenium WebDriver API, which includes helper classes for HTML Select elements, waiting for conditions, and Page Object creation.",
tags = "Selenium WebDriver browser automation support",
packagedeps = [
{":dotnet-package" : ""}
],
assemblies = [
{"System.Drawing" : ""}
]
)

dotnet_library(name = "core",
srcs = "src/Selenium.Core/**/*.cs",
refs = [
"System.dll",
"System.Core.dll",
"System.Data.dll",
"System.Xml.dll",
"System.Web.dll"
],
framework_ver = "net40",
out = "ThoughtWorks.Selenium.Core.dll"
)

dotnet_library(name = "core35",
srcs = "src/Selenium.Core/**/*.cs",
refs = [
"System.dll",
"System.Core.dll",
"System.Data.dll",
"System.Xml.dll",
"System.Web.dll"
],
framework_ver = "net35",
out = "ThoughtWorks.Selenium.Core.dll"
)

dotnet_package(name = "core-package",
packageid = "Selenium.RC",
deps = [
":core",
":core35"
],
title = "Selenium Remote Control (RC)",
summary = ".NET bindings for the Selenium RC API",
description = "Selenium is a set of different software tools each with a different approach to supporting browser automation. These tools are highly flexible, allowing many options for locating and manipulating elements within a browser, and one of its key features is the support for automating multiple browser platforms. This package contains the .NET bindings for the older, more procedural Selenium Remote Control (or Selenium RC) API. It requires a running instance of the Selenium Server, and uses JavaScript for automating the browser, which means it is limited to the functionality available from within the JavaScript sandbox.",
tags = "Selenium remote control RC browser automation",
assemblies = [
{"System.Drawing" : ""}
]
)

dotnet_library(name = "webdriverbackedselenium",
srcs = "src/Selenium.WebdriverBackedSelenium/**/*.cs",
refs = [
"System.dll",
"System.Core.dll",
"System.Data.dll",
"System.Drawing.dll",
"System.Xml.dll",
"System.Web.dll",
":dotnet",
":core"
],
resources = [
{"java/client/src/org/openqa/selenium/internal/seleniumemulation/injectableSelenium.js" : "injectableSelenium.js"},
{"java/client/src/org/openqa/selenium/internal/seleniumemulation/htmlutils.js" : "htmlutils.js"},
{"//javascript/selenium-atoms:findElement" : "findElement.js" },
{"//javascript/selenium-atoms:findOption" : "findOption.js" },
{"//javascript/selenium-atoms:fireEvent" : "fireEvent.js" },
{"//javascript/selenium-atoms:fireEventAt" : "fireEventAt.js" },
{"//javascript/selenium-atoms:getAttribute" : "getAttribute.js" },
{"//javascript/selenium-atoms:getText" : "getText.js" },
{"//javascript/selenium-atoms:linkLocator" : "linkLocator.js" },
{"//javascript/selenium-atoms:isElementPresent" : "isElementPresent.js" },
{"//javascript/selenium-atoms:isSomethingSelected" : "isSomethingSelected.js" },
{"//javascript/selenium-atoms:isTextPresent" : "isTextPresent.js" },
{"//javascript/selenium-atoms:isVisible" : "isVisible.js" },
{"//javascript/selenium-atoms:type" : "type.js" }
],
framework_ver = "net40",
out = "Selenium.WebDriverBackedSelenium.dll"
)

dotnet_library(name = "webdriverbackedselenium35",
srcs = "src/Selenium.WebdriverBackedSelenium/**/*.cs",
refs = [
"System.dll",
"System.Core.dll",
"System.Data.dll",
"System.Drawing.dll",
"System.Xml.dll",
"System.Web.dll",
":dotnet35",
":core35"
],
resources = [
{"java/client/src/org/openqa/selenium/internal/seleniumemulation/injectableSelenium.js" : "injectableSelenium.js"},
{"java/client/src/org/openqa/selenium/internal/seleniumemulation/htmlutils.js" : "htmlutils.js"},
{"//javascript/selenium-atoms:findElement" : "findElement.js" },
{"//javascript/selenium-atoms:findOption" : "findOption.js" },
{"//javascript/selenium-atoms:fireEvent" : "fireEvent.js" },
{"//javascript/selenium-atoms:fireEventAt" : "fireEventAt.js" },
{"//javascript/selenium-atoms:getAttribute" : "getAttribute.js" },
{"//javascript/selenium-atoms:getText" : "getText.js" },
{"//javascript/selenium-atoms:linkLocator" : "linkLocator.js" },
{"//javascript/selenium-atoms:isElementPresent" : "isElementPresent.js" },
{"//javascript/selenium-atoms:isSomethingSelected" : "isSomethingSelected.js" },
{"//javascript/selenium-atoms:isTextPresent" : "isTextPresent.js" },
{"//javascript/selenium-atoms:isVisible" : "isVisible.js" },
{"//javascript/selenium-atoms:type" : "type.js" }
],
framework_ver = "net35",
out = "Selenium.WebDriverBackedSelenium.dll"
)

dotnet_package(name = "webdriverbackedselenium-package",
packageid = "Selenium.WebDriverBackedSelenium",
deps = [
":webdriverbackedselenium",
":webdriverbackedselenium35"
],
title = "WebDriver-backed Selenium",
summary = "Implementation of the Selenium Remote Control (RC) API, using WebDriver technology",
description = "Selenium is a set of different software tools each with a different approach to supporting browser automation. These tools are highly flexible, allowing many options for locating and manipulating elements within a browser, and one of its key features is the support for automating multiple browser platforms. This package contains the .NET bindings for the older, more procedural Selenium Remote Control (or Selenium RC) API, but implemented using the newer WebDriver technology. It does not require a running instance of the Selenium Server, and is not limited to the functionality available from within the JavaScript sandbox. It is intended as a transitional package to allow organizations with significant investment in the Selenium RC API to run their code with minimal modifications until they are able to migrate to the newer Selenium WebDriver API.",
tags = "Selenium WebDriver remote control RC browser automation",
packagedeps = [
{":dotnet-package" : ""},
{":core-package" : ""}
],
assemblies = [
{"System.Drawing" : ""}
]
)

dotnet_docs(name = "docs",
srcs = [
":dotnet",
":support",
":core",
":webdriverbackedselenium"
"//dotnet/src/webdriver:strongnamed",
"//dotnet/src/support:strongnamed",
"//dotnet/src/core:strongnamed",
"//dotnet/src/webdriverbackedselenium:strongnamed",
"//dotnet/src/webdriver:strongnamed35",
"//dotnet/src/support:strongnamed35",
"//dotnet/src/core:strongnamed35",
"//dotnet/src/webdriverbackedselenium:strongnamed35"
],
project = "docgen/docs.shfbproj",
website = "build/docs/dotnet/web",
helpfile = "WebDriver.chm",
out = "build/dotnet/WebDriver.chm"
desc = "Strong-named .NET assemblies for Selenium, including the RC and WebDriver APIs. Not recommended for most users.",
featured = "false",
signed = "true",
out = "selenium-dotnet-strongnamed.zip"
)

dotnet_release(name = "release",
deps = [
":dotnet-package",
":support-package",
":core-package",
":webdriverbackedselenium-package",
":docs"
"//dotnet/src/webdriver:package",
"//dotnet/src/support:package",
"//dotnet/src/core:package",
"//dotnet/src/webdriverbackedselenium:package",
"//dotnet/docs:docs"
],
desc = ".NET bindings for Selenium, including the RC and WebDriver APIs.",
featured = "true",
Expand Down
12 changes: 12 additions & 0 deletions dotnet/docs/build.desc
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
dotnet_docs(name = "docs",
srcs = [
"//dotnet/src/webdriver:webdriver",
"//dotnet/src/support:support",
"//dotnet/src/core:core",
"//dotnet/src/webdriverbackedselenium:webdriverbackedselenium",
],
project = "docs.shfbproj",
website = "build/docs/dotnet/web",
helpfile = "WebDriver.chm",
out = "build/dotnet/dist/WebDriver.chm"
)
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Loading

0 comments on commit 7da094f

Please sign in to comment.