Test and package Java client with build.cmd (#2690)
This commit is contained in:
parent
a14fe7f748
commit
e031662525
|
|
@ -22,7 +22,7 @@
|
|||
</Target>
|
||||
|
||||
<PropertyGroup>
|
||||
<TestDependsOn>$(TestDependsOn);RunTSClientNodeTests;RunBrowserTests</TestDependsOn>
|
||||
<TestDependsOn>$(TestDependsOn);RunTSClientNodeTests;RunBrowserTests;RunJavaTests</TestDependsOn>
|
||||
</PropertyGroup>
|
||||
|
||||
<Target Name="RunTSClientNodeTests">
|
||||
|
|
@ -35,9 +35,14 @@
|
|||
<Exec Command="npm run test:inner -- --no-color --configuration $(Configuration)" WorkingDirectory="$(RepositoryRoot)clients/ts/FunctionalTests" IgnoreStandardErrorWarningFormat="true" />
|
||||
</Target>
|
||||
|
||||
<Target Name="RunJavaTests" Condition="'$(JAVA_HOME)' != '' And Exists('$(JAVA_HOME)/lib/tools.jar')">
|
||||
<Message Text="Running Java client tests" Importance="high" />
|
||||
<Exec Command="./gradlew test" WorkingDirectory="$(RepositoryRoot)clients/java/signalr" IgnoreStandardErrorWarningFormat="true" />
|
||||
</Target>
|
||||
|
||||
<PropertyGroup>
|
||||
<GetArtifactInfoDependsOn>$(GetArtifactInfoDependsOn);GetNpmArtifactInfo</GetArtifactInfoDependsOn>
|
||||
<PrepareDependsOn>$(PrepareDependsOn);GetNpmArtifactInfo</PrepareDependsOn>
|
||||
<GetArtifactInfoDependsOn>$(GetArtifactInfoDependsOn);GetNpmArtifactInfo;GetJavaArtifactInfo</GetArtifactInfoDependsOn>
|
||||
<PrepareDependsOn>$(PrepareDependsOn);GetNpmArtifactInfo;GetJavaArtifactInfo</PrepareDependsOn>
|
||||
</PropertyGroup>
|
||||
|
||||
<Target Name="GetNpmArtifactInfo">
|
||||
|
|
@ -57,12 +62,32 @@
|
|||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<FilesToExcludeFromSigning Include="%(NPMPackage.ArtifactPath)" />
|
||||
<FilesToExcludeFromSigning Include="%(NPMPackage.ArtifactPath);" />
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
<Target Name="GetJavaArtifactInfo" Condition="'$(JAVA_HOME)' != '' And Exists('$(JAVA_HOME)/lib/tools.jar')">
|
||||
<ItemGroup>
|
||||
<ArtifactInfo Include="$(BuildDir)\%(Jars.Identity)">
|
||||
<ArtifactType>JavaJar</ArtifactType>
|
||||
<Version>$(JavaClientVersion)</Version>
|
||||
<Category>ship</Category>
|
||||
</ArtifactInfo>
|
||||
<ArtifactInfo Include="$(BuildDir)\%(PomFile.Identity)">
|
||||
<ArtifactType>MavenPOM</ArtifactType>
|
||||
<Version>$(JavaClientVersion)</Version>
|
||||
<Category>ship</Category>
|
||||
</ArtifactInfo>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<FilesToExcludeFromSigning Include="$(BuildDir)\%(Jars.Identity)" />
|
||||
<FilesToExcludeFromSigning Include="$(BuildDir)\%(PomFile.Identity)" />
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
<PropertyGroup>
|
||||
<CompileDependsOn>Restore;BuildNPMPackages;$(CompileDependsOn)</CompileDependsOn>
|
||||
<CompileDependsOn>Restore;BuildNPMPackages;$(CompileDependsOn);BuildJavaClient</CompileDependsOn>
|
||||
</PropertyGroup>
|
||||
<Target Name="BuildNPMPackages" DependsOnTargets="RestoreNpm;GetNpmArtifactInfo">
|
||||
<Message Text="Building %(NPMPackage.PackageId)..." Importance="high" />
|
||||
|
|
@ -71,8 +96,13 @@
|
|||
<Exec Command="npm run build" WorkingDirectory="$(RepositoryRoot)clients/ts/FunctionalTests" IgnoreStandardErrorWarningFormat="true" />
|
||||
</Target>
|
||||
|
||||
<Target Name="BuildJavaClient" Condition="'$(JAVA_HOME)' != '' And Exists('$(JAVA_HOME)/lib/tools.jar')" DependsOnTargets="GetJavaArtifactInfo">
|
||||
<Message Text="Building Java client" Importance="high" />
|
||||
<Exec Command="./gradlew compileJava" WorkingDirectory="$(RepositoryRoot)clients/java/signalr" />
|
||||
</Target>
|
||||
|
||||
<PropertyGroup>
|
||||
<PackageDependsOn>Compile;PackNPMPackages;$(PackageDependsOn)</PackageDependsOn>
|
||||
<PackageDependsOn>Compile;PackNPMPackages;$(PackageDependsOn);PackJavaClient</PackageDependsOn>
|
||||
</PropertyGroup>
|
||||
<Target Name="PackNPMPackages" DependsOnTargets="BuildNPMPackages">
|
||||
<Message Text="Packing %(NPMPackage.PackageId)..." Importance="high" />
|
||||
|
|
@ -83,4 +113,24 @@
|
|||
<Move SourceFiles="%(NPMPackage.OutputTar)" DestinationFiles="%(NPMPackage.ArtifactPath)" />
|
||||
<Move SourceFiles="%(NPMPackage.PackageJson).bak" DestinationFiles="%(NPMPackage.PackageJson)" />
|
||||
</Target>
|
||||
|
||||
<ItemGroup>
|
||||
<JavaBuildFiles Include="signalr-client-$(JavaClientVersion)-preview1.jar;signalr-client-$(JavaClientVersion)-preview1-javadoc.jar;signalr-client-$(JavaClientVersion)-preview1-sources.jar;signalr-client-$(JavaClientVersion)-preview1.pom"/>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Jars Include="signalr-client-$(JavaClientVersion)-preview1.jar;signalr-client-$(JavaClientVersion)-preview1-javadoc.jar;signalr-client-$(JavaClientVersion)-preview1-sources.jar;" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PomFile Include="signalr-client-$(JavaClientVersion)-preview1.pom" />
|
||||
</ItemGroup>
|
||||
|
||||
<Target Name="PackJavaClient" Condition="'$(JAVA_HOME)' != '' And Exists('$(JAVA_HOME)/lib/tools.jar')">
|
||||
<Message Text="Packing Java client" Importance="high" />
|
||||
<Exec Command="./gradlew jar sourceJar javadocJar generatePOM" WorkingDirectory="$(RepositoryRoot)clients/java/signalr" />
|
||||
<Move SourceFiles="$(RepositoryRoot)clients/java/signalr/signalr-client-$(JavaClientVersion)-preview1.pom" DestinationFolder="$(RepositoryRoot)clients/java/signalr\build\libs" />
|
||||
<Copy SourceFiles="$(RepositoryRoot)clients/java/signalr\build\libs\%(JavaBuildFiles.Identity)" DestinationFolder="$(BuildDir)" />
|
||||
</Target>
|
||||
|
||||
</Project>
|
||||
|
|
|
|||
|
|
@ -1,9 +1,10 @@
|
|||
plugins {
|
||||
id 'java'
|
||||
id 'maven'
|
||||
}
|
||||
|
||||
group 'com.microsoft.aspnetcore'
|
||||
version '0.1.0'
|
||||
version '0.1.0-preview1'
|
||||
|
||||
sourceCompatibility = 1.8
|
||||
|
||||
|
|
@ -16,3 +17,32 @@ dependencies {
|
|||
implementation "org.java-websocket:Java-WebSocket:1.3.8"
|
||||
implementation 'com.google.code.gson:gson:2.8.5'
|
||||
}
|
||||
|
||||
task sourceJar(type: Jar) {
|
||||
classifier "sources"
|
||||
from sourceSets.main.allJava
|
||||
}
|
||||
|
||||
task javadocJar(type: Jar, dependsOn: javadoc) {
|
||||
classifier "javadoc"
|
||||
from javadoc.destinationDir
|
||||
}
|
||||
|
||||
task generatePOM {
|
||||
pom {
|
||||
project {
|
||||
groupId 'com.microsoft.aspnetcore'
|
||||
artifactId 'signalr'
|
||||
version '0.1.0-preview1'
|
||||
|
||||
inceptionYear '2018'
|
||||
licenses {
|
||||
license {
|
||||
name 'The Apache Software License, Version 2.0'
|
||||
url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
|
||||
distribution 'repo'
|
||||
}
|
||||
}
|
||||
}
|
||||
}.writeTo("signalr-client-0.1.0-preview1.pom")
|
||||
}
|
||||
|
|
@ -1,3 +1,3 @@
|
|||
rootProject.name = 'client'
|
||||
rootProject.name = 'signalr-client'
|
||||
include 'main'
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
<Project>
|
||||
<PropertyGroup>
|
||||
<VersionPrefix>1.1.0</VersionPrefix>
|
||||
<JavaClientVersion>0.1.0</JavaClientVersion>
|
||||
<VersionSuffix>preview1</VersionSuffix>
|
||||
<PackageVersion Condition="'$(IsFinalBuild)' == 'true' AND '$(VersionSuffix)' == 'rtm' ">$(VersionPrefix)</PackageVersion>
|
||||
<PackageVersion Condition="'$(IsFinalBuild)' == 'true' AND '$(VersionSuffix)' != 'rtm' ">$(VersionPrefix)-$(VersionSuffix)-final</PackageVersion>
|
||||
|
|
|
|||
Loading…
Reference in New Issue