Skip to content

Commit 836bc67

Browse files
committed
Update .NET WebDriverBackedSelenium build process
This change updates the WebDriverBackedSelenium .csproj files to properly embed the appropriate JavaScript files as resources, and invoke the Bazel build targets if the files do not exist.
1 parent b7c0ee1 commit 836bc67

3 files changed

Lines changed: 200 additions & 14 deletions

File tree

dotnet/src/webdriverbackedselenium/Selenium.WebDriverBackedSelenium.csproj

Lines changed: 69 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -96,58 +96,113 @@
9696
</ItemGroup>
9797

9898
<ItemGroup Condition="'$(OS)' == 'WINDOWS_NT'">
99-
<EmbeddedResource Include="$(MSBuildProjectDirectory)\..\..\..\buck-out\gen\java\client\src\com\thoughtworks\selenium\webdriven\injectableSelenium.js\injectableSelenium.js">
99+
<EmbeddedResource Include="$(ProjectDir)..\..\..\java\client\src\com\thoughtworks\selenium\webdriven\injectableSelenium.js">
100100
<Visible>False</Visible>
101101
<LogicalName>injectableSelenium.js</LogicalName>
102102
</EmbeddedResource>
103-
<EmbeddedResource Include="$(MSBuildProjectDirectory)\..\..\..\buck-out\gen\java\client\src\com\thoughtworks\selenium\webdriven\htmlutils.js\htmlutils.js">
103+
<EmbeddedResource Include="$(ProjectDir)..\..\..\java\client\src\com\thoughtworks\selenium\webdriven\htmlutils.js">
104104
<Visible>False</Visible>
105105
<LogicalName>htmlutils.js</LogicalName>
106106
</EmbeddedResource>
107-
<EmbeddedResource Include="$(MSBuildProjectDirectory)\..\..\..\buck-out\gen\javascript\selenium-atoms\findElement.js">
107+
<EmbeddedResource Include="$(ProjectDir)..\..\..\bazel-bin\javascript\selenium-atoms\findElement.js">
108108
<Visible>False</Visible>
109109
<LogicalName>findElement.js</LogicalName>
110110
</EmbeddedResource>
111-
<EmbeddedResource Include="$(MSBuildProjectDirectory)\..\..\..\buck-out\gen\javascript\selenium-atoms\findOption.js">
111+
<EmbeddedResource Include="$(ProjectDir)..\..\..\bazel-bin\javascript\selenium-atoms\findOption.js">
112112
<Visible>False</Visible>
113113
<LogicalName>findOption.js</LogicalName>
114114
</EmbeddedResource>
115-
<EmbeddedResource Include="$(MSBuildProjectDirectory)\..\..\..\buck-out\gen\javascript\selenium-atoms\fireEvent.js">
115+
<EmbeddedResource Include="$(ProjectDir)..\..\..\bazel-bin\javascript\selenium-atoms\fireEvent.js">
116116
<Visible>False</Visible>
117117
<LogicalName>fireEvent.js</LogicalName>
118118
</EmbeddedResource>
119-
<EmbeddedResource Include="$(MSBuildProjectDirectory)\..\..\..\buck-out\gen\javascript\selenium-atoms\fireEventAt.js">
119+
<EmbeddedResource Include="$(ProjectDir)..\..\..\bazel-bin\javascript\selenium-atoms\fireEventAt.js">
120120
<Visible>False</Visible>
121121
<LogicalName>fireEventAt.js</LogicalName>
122122
</EmbeddedResource>
123-
<EmbeddedResource Include="$(MSBuildProjectDirectory)\..\..\..\buck-out\gen\javascript\selenium-atoms\getText.js">
123+
<EmbeddedResource Include="$(ProjectDir)..\..\..\bazel-bin\javascript\selenium-atoms\getText.js">
124124
<Visible>False</Visible>
125125
<LogicalName>getText.js</LogicalName>
126126
</EmbeddedResource>
127-
<EmbeddedResource Include="$(MSBuildProjectDirectory)\..\..\..\buck-out\gen\javascript\selenium-atoms\linkLocator.js">
127+
<EmbeddedResource Include="$(ProjectDir)..\..\..\bazel-bin\javascript\selenium-atoms\linkLocator.js">
128128
<Visible>False</Visible>
129129
<LogicalName>linkLocator.js</LogicalName>
130130
</EmbeddedResource>
131-
<EmbeddedResource Include="$(MSBuildProjectDirectory)\..\..\..\buck-out\gen\javascript\selenium-atoms\isElementPresent.js">
131+
<EmbeddedResource Include="$(ProjectDir)..\..\..\bazel-bin\javascript\selenium-atoms\isElementPresent.js">
132132
<Visible>False</Visible>
133133
<LogicalName>isElementPresent.js</LogicalName>
134134
</EmbeddedResource>
135-
<EmbeddedResource Include="$(MSBuildProjectDirectory)\..\..\..\buck-out\gen\javascript\selenium-atoms\isSomethingSelected.js">
135+
<EmbeddedResource Include="$(ProjectDir)..\..\..\bazel-bin\javascript\selenium-atoms\isSomethingSelected.js">
136136
<Visible>False</Visible>
137137
<LogicalName>isSomethingSelected.js</LogicalName>
138138
</EmbeddedResource>
139-
<EmbeddedResource Include="$(MSBuildProjectDirectory)\..\..\..\buck-out\gen\javascript\selenium-atoms\isVisible.js">
139+
<EmbeddedResource Include="$(ProjectDir)..\..\..\bazel-bin\javascript\selenium-atoms\isVisible.js">
140140
<Visible>False</Visible>
141141
<LogicalName>isVisible.js</LogicalName>
142142
</EmbeddedResource>
143-
<EmbeddedResource Include="$(MSBuildProjectDirectory)\..\..\..\buck-out\gen\javascript\selenium-atoms\type.js">
143+
<EmbeddedResource Include="$(ProjectDir)..\..\..\bazel-bin\javascript\selenium-atoms\type.js">
144144
<Visible>False</Visible>
145145
<LogicalName>type.js</LogicalName>
146146
</EmbeddedResource>
147147
</ItemGroup>
148148

149-
<Target Name="PostBuild" AfterTargets="PostBuildEvent" Condition="'$(BuildSystem)' == 'visual-studio'">
150-
<Exec Command="copy /y &quot;$(ProjectDir)..\..\..\java\client\src\com\thoughtworks\selenium\webdriven\injectableSelenium.js&quot; &quot;$(TargetDir)&quot; &gt; NUL&#xD;&#xA;copy /y &quot;$(ProjectDir)..\..\..\java\client\src\com\thoughtworks\selenium\webdriven\htmlutils.js&quot; &quot;$(TargetDir)&quot; &gt; &quot;NUL&#xD;&#xA;if exist &quot;$(ProjectDir)..\..\..\buck-out\gen\javascript\selenium-atoms\findElement.js&quot; copy /y &quot;$(ProjectDir)..\..\..\buck-out\gen\javascript\selenium-atoms\findElement.js&quot; &quot;$(TargetDir)&quot; &gt; NUL&#xD;&#xA;if exist &quot;$(ProjectDir)..\..\..\buck-out\gen\javascript\selenium-atoms\findOption.js&quot; copy /y &quot;$(ProjectDir)..\..\..\buck-out\gen\javascript\selenium-atoms\findOption.js&quot; &quot;$(TargetDir)&quot; &gt; NUL&#xD;&#xA;if exist &quot;$(ProjectDir)..\..\..\buck-out\gen\javascript\selenium-atoms\fireEvent.js&quot; copy /y &quot;$(ProjectDir)..\..\..\buck-out\gen\javascript\selenium-atoms\fireEvent.js&quot; &quot;$(TargetDir)&quot; &gt; NUL&#xD;&#xA;if exist &quot;$(ProjectDir)..\..\..\buck-out\gen\javascript\selenium-atoms\fireEventAt.js&quot; copy /y &quot;$(ProjectDir)..\..\..\buck-out\gen\javascript\selenium-atoms\fireEventAt.js&quot; &quot;$(TargetDir)&quot; &gt; NUL&#xD;&#xA;if exist &quot;$(ProjectDir)..\..\..\buck-out\gen\javascript\selenium-atoms\getText.js&quot; copy /y &quot;$(ProjectDir)..\..\..\buck-out\gen\javascript\selenium-atoms\getText.js&quot; &quot;$(TargetDir)&quot; &gt; NUL&#xD;&#xA;if exist &quot;$(ProjectDir)..\..\..\buck-out\gen\javascript\selenium-atoms\linkLocator.js&quot; copy /y &quot;$(ProjectDir)..\..\..\buck-out\gen\javascript\selenium-atoms\linkLocator.js&quot; &quot;$(TargetDir)&quot; &gt; NUL&#xD;&#xA;if exist &quot;$(ProjectDir)..\..\..\buck-out\gen\javascript\selenium-atoms\isElementPresent.js&quot; copy /y &quot;$(ProjectDir)..\..\..\buck-out\gen\javascript\selenium-atoms\isElementPresent.js&quot; &quot;$(TargetDir)&quot; &gt; NUL&#xD;&#xA;if exist &quot;$(ProjectDir)..\..\..\buck-out\gen\javascript\selenium-atoms\isSomethingSelected.js&quot; copy /y &quot;$(ProjectDir)..\..\..\buck-out\gen\javascript\selenium-atoms\isSomethingSelected.js&quot; &quot;$(TargetDir)&quot; &gt; NUL&#xD;&#xA;if exist &quot;$(ProjectDir)..\..\..\buck-out\gen\javascript\selenium-atoms\isTextPresent.js&quot; copy /y &quot;$(ProjectDir)..\..\..\buck-out\gen\javascript\selenium-atoms\isTextPresent.js&quot; &quot;$(TargetDir)&quot; &gt; NUL&#xD;&#xA;if exist &quot;$(ProjectDir)..\..\..\buck-out\gen\javascript\selenium-atoms\isVisible.js&quot; copy /y &quot;$(ProjectDir)..\..\..\buck-out\gen\javascript\selenium-atoms\isVisible.js&quot; &quot;$(TargetDir)&quot; &gt; NUL&#xD;&#xA;if exist &quot;$(ProjectDir)..\..\..\buck-out\gen\javascript\selenium-atoms\type.js&quot; copy /y &quot;$(ProjectDir)..\..\..\buck-out\gen\javascript\selenium-atoms\type.js&quot; &quot;$(TargetDir)&quot; &gt; NUL&#xD;&#xA;" />
149+
<ItemGroup Condition="'$(OS)' != 'WINDOWS_NT'">
150+
<EmbeddedResource Include="$(ProjectDir)../../../java/client/src/com/thoughtworks/selenium/webdriven/injectableSelenium.js">
151+
<Visible>False</Visible>
152+
<LogicalName>injectableSelenium.js</LogicalName>
153+
</EmbeddedResource>
154+
<EmbeddedResource Include="$(ProjectDir)../../../java/client/src/com/thoughtworks/selenium/webdriven/htmlutils.js">
155+
<Visible>False</Visible>
156+
<LogicalName>htmlutils.js</LogicalName>
157+
</EmbeddedResource>
158+
<EmbeddedResource Include="$(ProjectDir)../../../bazel-bin/javascript/selenium-atoms/findElement.js">
159+
<Visible>False</Visible>
160+
<LogicalName>findElement.js</LogicalName>
161+
</EmbeddedResource>
162+
<EmbeddedResource Include="$(ProjectDir)../../../bazel-bin/javascript/selenium-atoms/findOption.js">
163+
<Visible>False</Visible>
164+
<LogicalName>findOption.js</LogicalName>
165+
</EmbeddedResource>
166+
<EmbeddedResource Include="$(ProjectDir)../../../bazel-bin/javascript/selenium-atoms/fireEvent.js">
167+
<Visible>False</Visible>
168+
<LogicalName>fireEvent.js</LogicalName>
169+
</EmbeddedResource>
170+
<EmbeddedResource Include="$(ProjectDir)../../../bazel-bin/javascript/selenium-atoms/fireEventAt.js">
171+
<Visible>False</Visible>
172+
<LogicalName>fireEventAt.js</LogicalName>
173+
</EmbeddedResource>
174+
<EmbeddedResource Include="$(ProjectDir)../../../bazel-bin/javascript/selenium-atoms/getText.js">
175+
<Visible>False</Visible>
176+
<LogicalName>getText.js</LogicalName>
177+
</EmbeddedResource>
178+
<EmbeddedResource Include="$(ProjectDir)../../../bazel-bin/javascript/selenium-atoms/linkLocator.js">
179+
<Visible>False</Visible>
180+
<LogicalName>linkLocator.js</LogicalName>
181+
</EmbeddedResource>
182+
<EmbeddedResource Include="$(ProjectDir)../../../bazel-bin/javascript/selenium-atoms/isElementPresent.js">
183+
<Visible>False</Visible>
184+
<LogicalName>isElementPresent.js</LogicalName>
185+
</EmbeddedResource>
186+
<EmbeddedResource Include="$(ProjectDir)../../../bazel-bin/javascript/selenium-atoms/isSomethingSelected.js">
187+
<Visible>False</Visible>
188+
<LogicalName>isSomethingSelected.js</LogicalName>
189+
</EmbeddedResource>
190+
<EmbeddedResource Include="$(ProjectDir)../../../bazel-bin/javascript/selenium-atoms/isVisible.js">
191+
<Visible>False</Visible>
192+
<LogicalName>isVisible.js</LogicalName>
193+
</EmbeddedResource>
194+
<EmbeddedResource Include="$(ProjectDir)../../../bazel-bin/javascript/selenium-atoms/type.js">
195+
<Visible>False</Visible>
196+
<LogicalName>type.js</LogicalName>
197+
</EmbeddedResource>
198+
</ItemGroup>
199+
200+
<Target Name="PreBuild" BeforeTargets="PreBuildEvent" Condition="'$(OS)' == 'Windows_NT'">
201+
<Exec Command="call $(ProjectDir)Selenium.WebDriverBackedSelenium.csproj.prebuild.cmd $(ProjectDir)" />
202+
</Target>
203+
204+
<Target Name="PreBuildNonWindows" BeforeTargets="PreBuildEvent" Condition="'$(OS)' != 'Windows_NT'">
205+
<Exec Command="$(ProjectDir)Selenium.WebDriverBackedSelenium.csproj.prebuild.sh $(ProjectDir)" />
151206
</Target>
152207

153208
</Project>
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
@echo off
2+
if not exist "%1..\..\..\bazel-bin\javascript\selenium-atoms\findElement.js" (
3+
echo Building findElement atom
4+
pushd "%1..\..\.."
5+
bazel build //javascript/selenium-atoms:findElement
6+
popd
7+
)
8+
9+
if not exist "%1..\..\..\bazel-bin\javascript\selenium-atoms\findOption.js" (
10+
echo Building findOption atom
11+
pushd "%1..\..\.."
12+
bazel build //javascript/selenium-atoms:findOption
13+
popd
14+
)
15+
16+
if not exist "%1..\..\..\bazel-bin\javascript\selenium-atoms\fireEvent.js" (
17+
echo Building fireEvent atom
18+
pushd "%1..\..\.."
19+
bazel build //javascript/selenium-atoms:fireEvent
20+
popd
21+
)
22+
23+
if not exist "%1..\..\..\bazel-bin\javascript\selenium-atoms\fireEventAt.js" (
24+
echo Building fireEventAt atom
25+
pushd "%1..\..\.."
26+
bazel build //javascript/selenium-atoms:fireEventAt
27+
popd
28+
)
29+
30+
31+
if not exist "%1..\..\..\bazel-bin\javascript\selenium-atoms\getText.js" (
32+
echo Building getText atom
33+
pushd "%1..\..\.."
34+
bazel build //javascript/selenium-atoms:getText
35+
popd
36+
)
37+
38+
if not exist "%1..\..\..\bazel-bin\javascript\selenium-atoms\linkLocator.js" (
39+
echo Building linkLocator atom
40+
pushd "%1..\..\.."
41+
bazel build //javascript/selenium-atoms:linkLocator
42+
popd
43+
)
44+
45+
if not exist "%1..\..\..\bazel-bin\javascript\selenium-atoms\isElementPresent.js" (
46+
echo Building isElementPresent atom
47+
pushd "%1..\..\.."
48+
bazel build //javascript/selenium-atoms:isElementPresent
49+
popd
50+
)
51+
52+
if not exist "%1..\..\..\bazel-bin\javascript\selenium-atoms\isSomethingSelected.js" (
53+
echo Building isSomethingSelected atom
54+
pushd "%1..\..\.."
55+
bazel build //javascript/selenium-atoms:isSomethingSelected
56+
popd
57+
)
58+
59+
if not exist "%1..\..\..\bazel-bin\javascript\selenium-atoms\isVisble.js" (
60+
echo Building isVisible atom
61+
pushd "%1..\..\.."
62+
bazel build //javascript/selenium-atoms:isVisible
63+
popd
64+
)
65+
66+
if not exist "%1..\..\..\bazel-bin\javascript\selenium-atoms\type.js" (
67+
echo Building type atom
68+
pushd "%1..\..\.."
69+
bazel build //javascript/selenium-atoms:type
70+
popd
71+
)
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
#!/bin/bash
2+
if [[ ! -f "$1../../../bazel-bin/javascript/selenium-atoms/findElement.js" ]]
3+
then
4+
echo "Building findElement atom"
5+
bazel build //javascript/selenium-atoms:findElement
6+
fi
7+
8+
if [[ ! -f "$1../../../bazel-bin/javascript/selenium-atoms/findOption.js" ]]
9+
then
10+
echo "Building findOption atom"
11+
bazel build //javascript/selenium-atoms:findOption
12+
fi
13+
14+
if [[ ! -f "$1../../../bazel-bin/javascript/selenium-atoms/fireEvent.js" ]]
15+
then
16+
echo "Building fireEvent atom"
17+
bazel build //javascript/selenium-atoms:fireEvent
18+
fi
19+
20+
if [[ ! -f "$1../../../bazel-bin/javascript/selenium-atoms/fireEventAt.js" ]]
21+
then
22+
echo "Building fireEventAt atom"
23+
bazel build //javascript/selenium-atoms:fireEventAt
24+
fi
25+
26+
if [[ ! -f "$1../../../bazel-bin/javascript/selenium-atoms/getText.js" ]]
27+
then
28+
echo "Building getText atom"
29+
bazel build //javascript/selenium-atoms:getText
30+
fi
31+
32+
if [[ ! -f "$1../../../bazel-bin/javascript/selenium-atoms/linkLocator.js" ]]
33+
then
34+
echo "Building linkLocator atom"
35+
bazel build //javascript/selenium-atoms:linkLocator
36+
fi
37+
38+
if [[ ! -f "$1../../../bazel-bin/javascript/selenium-atoms/isElementPresent.js" ]]
39+
then
40+
echo "Building isElementPresent atom"
41+
bazel build //javascript/selenium-atoms:isElementPresent
42+
fi
43+
44+
if [[ ! -f "$1../../../bazel-bin/javascript/selenium-atoms/isSomethingSelected.js" ]]
45+
then
46+
echo "Building isSomethingSelected atom"
47+
bazel build //javascript/selenium-atoms:isSomethingSelected
48+
fi
49+
50+
if [[ ! -f "$1../../../bazel-bin/javascript/selenium-atoms/isVisble.js" ]]
51+
then
52+
echo "Building isVisble atom"
53+
bazel build //javascript/selenium-atoms:isVisble
54+
fi
55+
56+
if [[ ! -f "$1../../../bazel-bin/javascript/selenium-atoms/type.js" ]]
57+
then
58+
echo "Building type atom"
59+
bazel build //javascript/selenium-atoms:type
60+
fi

0 commit comments

Comments
 (0)