Fail CI builds if the JDK cannot be found, warn for local builds, and add a flag to completely skip building the Java client

This commit is contained in:
Nate McMaster 2018-08-24 10:02:53 -07:00 committed by Nate McMaster
parent 2db0c086b2
commit 118fc0a27f
No known key found for this signature in database
GPG Key ID: A778D9601BD78810
3 changed files with 17 additions and 9 deletions

View File

@ -9,6 +9,6 @@ simpleNode('Windows.10.Amd64.ClientRS4.ES.Open') {
stage ('Build') { stage ('Build') {
def logFolder = getLogFolder() def logFolder = getLogFolder()
def environment = "set ASPNETCORE_TEST_LOG_DIR=${WORKSPACE}\\${logFolder}" def environment = "set ASPNETCORE_TEST_LOG_DIR=${WORKSPACE}\\${logFolder}"
bat "${environment}&.\\run.cmd -CI default-build" bat "${environment}&.\\build.cmd -ci /p:SkipJavaClient=true"
} }
} }

View File

@ -9,6 +9,6 @@ simpleNode('Windows.10.Amd64.EnterpriseRS3.ASPNET.Open') {
stage ('Build') { stage ('Build') {
def logFolder = getLogFolder() def logFolder = getLogFolder()
def environment = "set ASPNETCORE_TEST_LOG_DIR=${WORKSPACE}\\${logFolder}" def environment = "set ASPNETCORE_TEST_LOG_DIR=${WORKSPACE}\\${logFolder}"
bat "${environment}&.\\run.cmd -CI default-build" bat "${environment}&.\\build.cmd -ci /p:SkipJavaClient=true"
} }
} }

View File

@ -23,6 +23,16 @@
<GradleOptions Condition="'$(CI)' == 'true'">$(GradleOptions) -Dorg.gradle.daemon=false</GradleOptions> <GradleOptions Condition="'$(CI)' == 'true'">$(GradleOptions) -Dorg.gradle.daemon=false</GradleOptions>
</PropertyGroup> </PropertyGroup>
<Target Name="EnsureJdkInstalled" BeforeTargets="GetToolsets" Condition=" '$(SkipJavaClient)' != 'true' ">
<Error Text="The JDK is required to build the SignalR repo on CI. Set the JAVA_HOME environment variable to the installation of the JDK"
Condition="'$(HasJdk)' != 'true' AND '$(CI)' == 'true' " />
<Warning Text="The JDK is required to build the SignalR Java client. No JDK could be found so this will be skipped. Set the JAVA_HOME environment variable to the installation of the JDK"
Condition="'$(HasJdk)' != 'true' AND '$(CI)' != 'true' " />
<Message Text="Using Java from $(JavacPath)" Importance="high" />
</Target>
<PropertyGroup> <PropertyGroup>
<RestoreDependsOn>$(RestoreDependsOn);RestoreNpm</RestoreDependsOn> <RestoreDependsOn>$(RestoreDependsOn);RestoreNpm</RestoreDependsOn>
</PropertyGroup> </PropertyGroup>
@ -48,7 +58,7 @@
<Exec Command="npm run test:inner -- --no-color --configuration $(Configuration)" WorkingDirectory="$(RepositoryRoot)clients/ts/FunctionalTests" IgnoreStandardErrorWarningFormat="true" /> <Exec Command="npm run test:inner -- --no-color --configuration $(Configuration)" WorkingDirectory="$(RepositoryRoot)clients/ts/FunctionalTests" IgnoreStandardErrorWarningFormat="true" />
</Target> </Target>
<Target Name="RunJavaTests" Condition="'$(HasJdk)' == 'true'"> <Target Name="RunJavaTests" Condition="'$(HasJdk)' == 'true' AND '$(SkipJavaClient)' != 'true' ">
<Message Text="Running Java client tests" Importance="high" /> <Message Text="Running Java client tests" Importance="high" />
<Message Text="> gradlew $(GradleOptions) test" Importance="high" /> <Message Text="> gradlew $(GradleOptions) test" Importance="high" />
<Exec Command="./gradlew $(GradleOptions) test" WorkingDirectory="$(RepositoryRoot)clients/java/signalr" IgnoreStandardErrorWarningFormat="true" /> <Exec Command="./gradlew $(GradleOptions) test" WorkingDirectory="$(RepositoryRoot)clients/java/signalr" IgnoreStandardErrorWarningFormat="true" />
@ -80,8 +90,8 @@
</ItemGroup> </ItemGroup>
</Target> </Target>
<Target Name="GetJavaArtifactInfo" Condition="'$(HasJdk)' == 'true'"> <Target Name="GetJavaArtifactInfo">
<ItemGroup> <ItemGroup Condition=" '$(SkipJavaClient)' != 'true' ">
<ArtifactInfo Include="$(BuildDir)\%(Jars.Identity)"> <ArtifactInfo Include="$(BuildDir)\%(Jars.Identity)">
<ArtifactType>JavaJar</ArtifactType> <ArtifactType>JavaJar</ArtifactType>
<Version>$(JavaClientVersion)</Version> <Version>$(JavaClientVersion)</Version>
@ -92,9 +102,7 @@
<Version>$(JavaClientVersion)</Version> <Version>$(JavaClientVersion)</Version>
<Category>ship</Category> <Category>ship</Category>
</ArtifactInfo> </ArtifactInfo>
</ItemGroup>
<ItemGroup>
<FilesToExcludeFromSigning Include="$(BuildDir)\%(Jars.Identity)" /> <FilesToExcludeFromSigning Include="$(BuildDir)\%(Jars.Identity)" />
<FilesToExcludeFromSigning Include="$(BuildDir)\%(PomFile.Identity)" /> <FilesToExcludeFromSigning Include="$(BuildDir)\%(PomFile.Identity)" />
</ItemGroup> </ItemGroup>
@ -110,7 +118,7 @@
<Exec Command="npm run build" WorkingDirectory="$(RepositoryRoot)clients/ts/FunctionalTests" IgnoreStandardErrorWarningFormat="true" /> <Exec Command="npm run build" WorkingDirectory="$(RepositoryRoot)clients/ts/FunctionalTests" IgnoreStandardErrorWarningFormat="true" />
</Target> </Target>
<Target Name="BuildJavaClient" Condition="'$(HasJdk)' == 'true'" DependsOnTargets="GetJavaArtifactInfo"> <Target Name="BuildJavaClient" Condition="'$(HasJdk)' == 'true' AND '$(SkipJavaClient)' != 'true' " DependsOnTargets="GetJavaArtifactInfo">
<Message Text="Building Java client" Importance="high" /> <Message Text="Building Java client" Importance="high" />
<Message Text="> gradlew $(GradleOptions) compileJava" Importance="high" /> <Message Text="> gradlew $(GradleOptions) compileJava" Importance="high" />
<Exec Command="./gradlew $(GradleOptions) compileJava" WorkingDirectory="$(RepositoryRoot)clients/java/signalr" /> <Exec Command="./gradlew $(GradleOptions) compileJava" WorkingDirectory="$(RepositoryRoot)clients/java/signalr" />
@ -135,7 +143,7 @@
<JavaBuildFiles Include="@(Jars);@(PomFile)"/> <JavaBuildFiles Include="@(Jars);@(PomFile)"/>
</ItemGroup> </ItemGroup>
<Target Name="PackJavaClient" Condition="'$(HasJdk)' == 'true'"> <Target Name="PackJavaClient" Condition="'$(HasJdk)' == 'true' AND '$(SkipJavaClient)' != 'true' ">
<Message Text="Packing Java client" Importance="high" /> <Message Text="Packing Java client" Importance="high" />
<Message Text="> gradlew $(GradleOptions) createPackage" Importance="high" /> <Message Text="> gradlew $(GradleOptions) createPackage" Importance="high" />
<Exec Command="./gradlew $(GradleOptions) createPackage" WorkingDirectory="$(RepositoryRoot)clients/java/signalr" /> <Exec Command="./gradlew $(GradleOptions) createPackage" WorkingDirectory="$(RepositoryRoot)clients/java/signalr" />