Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
98 changes: 0 additions & 98 deletions Build.proj

This file was deleted.

27 changes: 15 additions & 12 deletions CallfireApiClient.nuspec
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
<?xml version="1.0"?>
<package>
<?xml version="1.0" encoding="UTF-8"?><package>
<metadata>
<id>CallfireApiClient</id>
<version>1.1.6</version>
<version>1.1.7</version>
<title>CallFire API v2 client</title>
<authors>
Vladimir Mikhailov
Expand All @@ -16,6 +15,10 @@
<description>C# client library for integration with Callfire REST API v2 services</description>
<releaseNotes>Callfire API client Changelog
=============================
Version 1.1.7 - Apr 18 2016
- migration to 4.5 net framework
- migration to gradle

Version 1.1.6 - Mar 25 2016
- added mono debug files generation on Windows platform
- removed get/update batch api calls from TextBroadcastsApi
Expand Down Expand Up @@ -46,16 +49,16 @@ Version 1.0.0 - Dec 29 2015
<copyright>Copyright (c) 2015 CallFire Inc.</copyright>
<tags>Callfire rest api client</tags>
<dependencies>
<dependency id="Newtonsoft.Json" version="7.0.1" />
<dependency id="RestSharp" version="105.2.3" />
<dependency id="Newtonsoft.Json" version="7.0.1"/>
<dependency id="RestSharp" version="105.2.3"/>
</dependencies>
</metadata>
<files>
<file src="**/*.cs" target="src" />
<file src="LICENSE" />
<file src="Changelog" />
<file src="src/CallfireApiClient/bin/Debug/callfire-api-client.dll" target="lib" />
<file src="src/CallfireApiClient/bin/Release/callfire-api-client.dll.config" target="lib" />
<file src="src/CallfireApiClient/bin/Release/callfire-api-client.xml" target="lib" />
<file src="LICENSE.txt"/>
<file src="Changelog.txt"/>
<file src="src/**/*.cs" target="src"/>
<file src="src/CallfireApiClient/bin/Debug/callfire-api-client.dll" target="lib"/>
<file src="src/CallfireApiClient/bin/Release/callfire-api-client.dll.config" target="lib"/>
<file src="src/CallfireApiClient/bin/Release/callfire-api-client.xml" target="lib"/>
</files>
</package>
</package>
4 changes: 4 additions & 0 deletions Changelog → Changelog.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
Callfire API client Changelog
=============================
Version 1.1.7 - Apr 18 2016
- migration to 4.5 net framework
- migration to gradle

Version 1.1.6 - Mar 25 2016
- added mono debug files generation on Windows platform
- removed get/update batch api calls from TextBroadcastsApi
Expand Down
File renamed without changes.
123 changes: 123 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
import org.gradle.internal.os.OperatingSystem
import org.apache.tools.ant.taskdefs.condition.Os
import groovy.xml.XmlUtil

plugins {
id 'com.ullink.msbuild' version '2.14'
id 'com.ullink.nuget' version '2.12'
id 'com.ullink.nunit' version '1.4'
id 'com.ullink.opencover' version '1.2'
id 'net.researchgate.release' version '2.3.4'
}

archivesBaseName = 'callfire-api-client'
ext['buildReleaseConfiguration'] = "Release"
ext['buildDebugConfiguration'] = "Debug"
ext['assemblyBinReleaseDir'] = "src/CallfireApiClient/bin/$buildReleaseConfiguration"
ext['assemblyBinDebugDir'] = "src/CallfireApiClient/bin/$buildDebugConfiguration"
ext['buildDistDir'] = "$buildDir/dist"
ext['assemblyInfo'] = "src/CallfireApiClient/Properties/AssemblyInfo.cs"

defaultTasks('nugetPack')

nuget {
// oh boy, version 3.3.0 seems to freeze during restore on linux ... rollbacking.... again
version = '2.8.6'
}

msbuild.dependsOn nugetRestore
msbuild {
solutionFile = 'callfire-api-client-csharp.sln'
configuration = buildReleaseConfiguration
projectName = 'CallfireApiClient'
generateDoc = true
}

task msbuildDebug (type: com.ullink.Msbuild) {
solutionFile = 'callfire-api-client-csharp.sln'
configuration = buildDebugConfiguration
projectName = 'CallfireApiClient'
}
msbuildDebug.dependsOn nunit

nunit {
testAssemblies = [ msbuild.projects['CallfireApiClient.Tests'].properties.TargetPath ]
}
nunit.dependsOn msbuild

task updateNuspecFile << {
def specFile = file('CallfireApiClient.nuspec')
def spec = new XmlSlurper().parse(specFile)

project.version = patchVersion(spec.metadata.version.text)
spec.metadata.version = project.version
spec.metadata.releaseNotes = file('Changelog.txt').text
// cleanup previous lib/ and src/ files since they depend on build configuration
spec.files.file.findAll { it.@target == 'lib' || it.@target == 'src' }.each { it.replaceNode {} }

def isWindowsOs = Os.isFamily(Os.FAMILY_WINDOWS)
def monoInstallation = "$System.env.MONO_HOME"
def pdbToMdbConverter
if (isWindowsOs) {
if (monoInstallation != 'null') {
pdbToMdbConverter = "$System.env.MONO_HOME" + "\\bin\\pdb2mdb.bat"
exec { commandLine = [pdbToMdbConverter, "$assemblyBinDebugDir/${archivesBaseName}.dll"] }
}
}

spec.files.appendNode {
file(src: "src/**/*.cs", target: 'src') {}
file(src: "$assemblyBinDebugDir/${archivesBaseName}.dll", target: 'lib') {}
file(src: "$assemblyBinReleaseDir/${archivesBaseName}.dll.config", target: 'lib') {}
file(src: "$assemblyBinReleaseDir/${archivesBaseName}.xml", target: 'lib') {}
if (isWindowsOs) {
file(src: "$assemblyBinDebugDir/${archivesBaseName}.pdb", target: 'lib') {}
}
file(src: "$assemblyBinDebugDir/${archivesBaseName}.dll.mdb", target: 'lib') {}
}

def fw = new FileWriter('CallfireApiClient.nuspec')
XmlUtil.serialize(spec, fw)
// have to close manually because on windows file remains locked
fw.close()
}
updateNuspecFile.dependsOn msbuildDebug

def patchVersion(version) {
def regex = ~/\[assembly: AssemblyVersion\("(.*)\.\*"\)\]/
def matcher = regex.matcher(new File(assemblyInfo).text)
while(matcher.find()) {
def updated = matcher.group(1)
println "Patching Nuspec version to $updated"
return updated
}
version
}

task zipBinaries(type: Zip) {
destinationDir = file(buildDistDir)
from 'LICENSE'
from 'Changelog'
from (assemblyBinReleaseDir) {
include "${archivesBaseName}.*"
}
}
zipBinaries.dependsOn nugetSpec

// nuget package for upload to nuget
nugetSpec {
nuspecFile = file('CallfireApiClient.nuspec')
}
nugetSpec.dependsOn updateNuspecFile

nugetPack {
destinationDir = buildDistDir
generateSymbols = true
}
nugetPack.dependsOn zipBinaries

// nuget package upload, requires API key to be set
nugetPush {
apiKey = System.properties[ 'NUGET_API_KEY' ] ?: "key not set"
nupkgFile = nugetPack.packageFile
}
Loading