Test and package Java client with build.cmd (#2690)

This commit is contained in:
Mikael Mengistu 2018-07-30 16:58:25 -07:00 committed by GitHub
parent a14fe7f748
commit e031662525
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 89 additions and 8 deletions

View File

@ -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>

View File

@ -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")
}

0
clients/java/signalr/gradlew vendored Normal file → Executable file
View File

View File

@ -1,3 +1,3 @@
rootProject.name = 'client'
rootProject.name = 'signalr-client'
include 'main'

View File

@ -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>