Services » History » Revision 4
Revision 3 (Alexey Demakov, 01/21/2016 01:51 PM) → Revision 4/9 (Alexey Demakov, 01/21/2016 02:10 PM)
h1. Services
* "Jenkins Continuous Integration Server":http://forge.ispras.ru:8080 - internal access only
* "Sonarube quality management platform, dedicated to continuously analyzing and measuring the technical quality of source code":http://forge.ispras.ru:9000 - internal access only
*build.gradle:*
<pre>
plugins {
id ''org.sonarqube'' version ''1.0''
}
sonarqube {
properties {
property ''sonar.host.url'', ''http://forge.ispras.ru:9000''
property ''sonar.jdbc.url'', ''jdbc:mysql://localhost:3306/sonar''
property ''sonar.jdbc.driverClassName'', ''com.mysql.jdbc.Driver''
property ''sonar.jdbc.username'', ''sonar''
property ''sonar.jdbc.password'', ''sonar''
}
}
</pre>
* "Nexus Repository manager":http://forge.ispras.ru:8082/nexus/ - internal access only
Mail <demakov@ispras.ru> is you need upload permissions.
*build.gradle:*
<pre>
plugins {
id ''net.saliman.properties'' version ''1.4.4''
id ''net.researchgate.release'' version ''2.3.5''
}
apply plugin: ''maven-publish''
repositories {
maven {
url ''http://forge.ispras.ru:8082/nexus/content/repositories/snapshots''
}
maven {
url ''http://forge.ispras.ru:8082/nexus/content/repositories/releases''
}
jcenter()
}
project.group = projectGroup
release {
failOnCommitNeeded = false
versionPatterns = [
// Increments build number: "0.2.5-alpha-150428" => "0.2.6-alpha-150428"
/(^\d+\.\d+\.)(\d+)(-[^-]*)(-[^-]*$)/:
{ Matcher m, Project p -> m.replaceAll("${ m[0][1] }${ (m[0][2] as int) + 1 }${ m[0][3] }" ) }
]
}
String getCurrentDateString() {
new SimpleDateFormat( ''yyMMdd'' ).format( new Date() )
}
task unSnapshotVersion.doLast {
def version = project.version.toString()
version += ''-'' + getCurrentDateString()
project.plugins.getPlugin( net.researchgate.release.ReleasePlugin.class )
.updateVersionProperty( version )
}
publishing {
publications {
maven(MavenPublication) {
groupId projectGroup
artifactId projectName
version project.version
from components.java
}
}
repositories {
maven {
if(project.version.endsWith(''-SNAPSHOT'')) {
url ''http://forge.ispras.ru:8082/nexus/content/repositories/snapshots''
} else {
url ''http://forge.ispras.ru:8082/nexus/content/repositories/releases''
}
credentials {
username hasProperty(''repoUser'') ? repoUser : ''''
password hasProperty(''repoPassword'') ? repoPassword : ''''
}
authentication {
basic(BasicAuthentication)
}
}
}
}
afterReleaseBuild.dependsOn publish
</pre>
*gradle.properties:*
<pre>
projectGroup=...
projectName=..
# gradle-release-plugin restriction: use only ''='' as separator
version=...
</pre>
*gradle-local.properties:*
<pre>repoUser=...
repoPassword=...
</pre>
*.gitignore:*
<pre>
gradle-local.properties
</pre>
*settings.gradle:*
<pre>
rootProject.name = projectName
</pre>