Skip to content
Open
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
27 changes: 16 additions & 11 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,21 +1,17 @@
language: java

jdk:
- oraclejdk8

- oraclejdk8
branches:
only:
- master

services:
- docker
- docker
env:
global:
- GIT_MAJOR_VERSION=1
- GIT_MINOR_VERSION=3
- GIT_MAJOR_VERSION=1
- GIT_MINOR_VERSION=3
after_success:
- if [ $TRAVIS_PULL_REQUEST == false ] && [ $TRAVIS_BRANCH == "master" ]; then

- if [ $TRAVIS_PULL_REQUEST == false ] && [ $TRAVIS_BRANCH == "master" ]; then
docker login -u $DOCKER_USERNAME -p $DOCKER_PASSWORD;

docker tag continuityproject/idpa-annotation continuityproject/idpa-annotation:$GIT_MAJOR_VERSION.$GIT_MINOR_VERSION.$TRAVIS_BUILD_NUMBER;
Expand Down Expand Up @@ -57,7 +53,16 @@ after_success:
docker push continuityproject/eureka:$GIT_MAJOR_VERSION.$GIT_MINOR_VERSION.$TRAVIS_BUILD_NUMBER;
docker tag continuityproject/eureka continuityproject/eureka:latest;
docker push continuityproject/eureka:latest;
fi

./gradlew -Psigning.keyId=$KEY_ID -Psigning.password=$SIGNING_PASSWORD -Psigning.secretKeyRingFile=../secring.gpg -Psonatype.username=$SONATYPE_USERNAME -Psonatype.password=$SONATYPE_PASSWORD -DRELEASE_VERSION=$GIT_MAJOR_VERSION.$GIT_MINOR_VERSION.$TRAVIS_BUILD_NUMBER :continuity.api:uploadArchives :continuity.api:closeAndReleaseRepository;
./gradlew -Psigning.keyId=$KEY_ID -Psigning.password=$SIGNING_PASSWORD -Psigning.secretKeyRingFile=../secring.gpg -Psonatype.username=$SONATYPE_USERNAME -Psonatype.password=$SONATYPE_PASSWORD -DRELEASE_VERSION=$GIT_MAJOR_VERSION.$GIT_MINOR_VERSION.$TRAVIS_BUILD_NUMBER :continuity.idpa:uploadArchives :continuity.idpa:closeAndReleaseRepository;
./gradlew -Psigning.keyId=$KEY_ID -Psigning.password=$SIGNING_PASSWORD -Psigning.secretKeyRingFile=../secring.gpg -Psonatype.username=$SONATYPE_USERNAME -Psonatype.password=$SONATYPE_PASSWORD -DRELEASE_VERSION=$GIT_MAJOR_VERSION.$GIT_MINOR_VERSION.$TRAVIS_BUILD_NUMBER :continuity.commons:uploadArchives :continuity.commons:closeAndReleaseRepository;
fi
script:
- ./gradlew build docker
- "./gradlew build docker"
secring:
gpg:
secure: gxZ/tlbcZujjzu0JEMOn8E/fLfXEXKWEtbIYQoetLnjwsFI0GLak2gxH/X21HJwztbjrTCuBktKkKCDuDV4iWexQiHMo08rV4p5pMCvIiiEZ7uzJXuUKnD4jNCpGOsv5y4wtQklo+l6ZEm2c8yPSWROe9481Aklk7F44tFEmxXkH7sGnINVxh3i7mnxa/m095+WaGNh9PVP9CJI5tNXOSC5nHDr7FDP1Ay+qxv7+3A0rSlpuby+ws+5G7+6EhYlzRKkohCLfomZpm8VFFqqnfSawg/qYM26yANqGiZ25McESyBfNykWWlhvtttIngVVVdwYskBtUqlWhJxsvcj6gQIWFRoY8l1D+v/JuZHiZDDoe6tO1RwLojPjIpjWmUqQeg4FvWV7Th9GMwU2C3H1hNDbY8w3Ie+kp+Hy0ZM6fXI1wuqOFLLdA0LNRPBjValjc/CA13Q6hGYActKo+1YPFYxMhvYsEea2i8VFcZSw5aW6N0BGsMJTfqtkxXitTdRHRP+nH0yrQ+3WR739Oqf5ZzvC9hPKnxZ0LbOM35+mWdrMy+fQsXEo0BEDy2QFtEyaolyZLC5QWAa4+U8VVRHm2I4TkrQny6JDBhSVqpiOjIdX2TeheTUoTzj1SXqbmkAB2Q3/fzdb7jEWvabcpHqSHeHKCEkfzTZoiMPr5BUl3TCg=
before_install:
- openssl aes-256-cbc -K $encrypted_2a73fd4d5098_key -iv $encrypted_2a73fd4d5098_iv
-in secring.gpg.enc -out secring.gpg -d
118 changes: 117 additions & 1 deletion continuity.api/continuity.api.gradle
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
/** Required plugins */
plugins {
id "io.codearte.nexus-staging" version "0.8.0"
}

apply plugin: 'io.spring.dependency-management'


dependencyManagement {
imports {
mavenBom 'org.springframework.cloud:spring-cloud-starter-parent:Finchley.M4'
Expand All @@ -23,4 +29,114 @@ dependencies {
compile (group: 'org.apache.jmeter', name: 'ApacheJMeter_http', version: '3.1') {
exclude group: 'org.mongodb', module: 'mongo-java-driver'
}
}
}



/**
* Creates jar with sources.
*/
task sourcesJar(type: Jar, dependsOn: classes) {
classifier = 'sources'
from sourceSets.main.allSource
}
/**
* Creates jar with javadocs.
*/
task javadocJar(type: Jar, dependsOn: javadoc) {
classifier = 'javadoc'
from javadoc.destinationDir
}
/**
* Pushing to maven centeral.
*/
apply plugin: 'maven'
apply plugin: 'signing'
apply plugin: 'io.codearte.nexus-staging'
/**
* When uploading the archives it has to be done using the full task name:
* > gradle :continuity.api:uploadArchives
*/
if (gradle.startParameter.getTaskNames().contains(":continuity.api:uploadArchives")) {
// Artifacts to build
artifacts {
archives sourcesJar, javadocJar
}
// Sign the artifacts
signing {
sign configurations.archives
}
group = "com.github.continuity-project"
archivesBaseName = "continuity.api"
// Uploads the signed artifacts
uploadArchives {
repositories {
mavenDeployer {
// check if necessary parameter exists
if (!project.hasProperty('sonatype.username') || !project.hasProperty('sonatype.password')) {
throw new GradleException('Credentials for Sonytype are missing.')
}
if (System.getProperty('RELEASE_VERSION') == null) {
throw new GradleException('The version of the library has to be specified. (Specified by "RELEASE_VERSION")')
}

beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) }
repository(url: "https://oss.sonatype.org/service/local/staging/deploy/maven2/") {
authentication(userName: project.property('sonatype.username'), password: project.property('sonatype.password'))
}
snapshotRepository(url: "https://oss.sonatype.org/content/repositories/snapshots") {
authentication(userName: project.property('sonatype.username'), password: project.property('sonatype.password'))
}
version = System.getProperty('RELEASE_VERSION')
pom.project {
name 'continuity.api'
packaging 'jar'
description 'Library of continuITy defining exchange entities'
url 'https://continuity-project.github.io/'
scm {
url "https://github.com/ContinuITy-Project/ContinuITy"
connection "scm:git:https://github.com/ContinuITy-Project/ContinuITy.git"
developerConnection "scm:git:[email protected]:ContinuITy-Project/ContinuITy.git"
}
issueManagement {
system 'jira'
url 'https://continuity-project.atlassian.net'
}
licenses {
license {
name 'The Apache Software License, Version 2.0'
url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
distribution 'repo'
}
}
developers {
developer {
id 'ContinuITy-team'
name 'The ContinuITy Research Team'
organizationUrl 'https://continuity-project.github.io/'
}
}
}
}
}
}
}
/**
* When closing or releasing the staging repository it has to be done using the full task name:
* > gradle :continuity.api.java.sdk:<TASK>
*
* Note: Always use the 'closeAndReleaseRepository' in the Jenkins build process.
*/
if (gradle.startParameter.getTaskNames().contains(":continuity.api:closeAndReleaseRepository")
|| gradle.startParameter.getTaskNames().contains(":continuity.api:closeRepository")
|| gradle.startParameter.getTaskNames().contains(":continuity.api:releaseRepository")) {
nexusStaging {
// check if necessary parameter exists
if (!project.hasProperty('sonatype.username') || !project.hasProperty('sonatype.password')) {
throw new GradleException('Credentials for Sonytype are missing.')
}
username = project.property('sonatype.username')
password = project.property('sonatype.password')
packageGroup = "com.github.continuity-project"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -779,7 +779,7 @@ private Paths() {

/**
* Generic, abstract REST endpoints. The implementing endpoints can be retrieved via the
* {@link Map#get(Object)} method, e.g., the JMeter {@link Model#OVERVIEW} via
* {@link Map#get(Object)} method, e.g., the JMeter {@link RestApi.Wessbas.Model#OVERVIEW} via
* {@link Generic#WORKLOAD_MODEL_LINK}<code>.get("jmeter")</code>.
*
* @author Henning Schulz
Expand Down
115 changes: 114 additions & 1 deletion continuity.commons/continuity.commons.gradle
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
/** Required plugins */
plugins {
id "io.codearte.nexus-staging" version "0.8.0"
}

dependencies {
compile project(':continuity.idpa')

Expand Down Expand Up @@ -28,4 +33,112 @@ dependencies {

// CSV parsing
compile group: 'com.univocity', name: 'univocity-parsers', version: '2.7.5'
}
}

/**
* Creates jar with sources.
*/
task sourcesJar(type: Jar, dependsOn: classes) {
classifier = 'sources'
from sourceSets.main.allSource
}
/**
* Creates jar with javadocs.
*/
task javadocJar(type: Jar, dependsOn: javadoc) {
classifier = 'javadoc'
from javadoc.destinationDir
}
/**
* Pushing to maven centeral.
*/
apply plugin: 'maven'
apply plugin: 'signing'
apply plugin: 'io.codearte.nexus-staging'
/**
* When uploading the archives it has to be done using the full task name:
* > gradle :continuity.commons:uploadArchives
*/
if (gradle.startParameter.getTaskNames().contains(":continuity.commons:uploadArchives")) {
// Artifacts to build
artifacts {
archives sourcesJar, javadocJar
}
// Sign the artifacts
signing {
sign configurations.archives
}
group = "com.github.continuity-project"
archivesBaseName = "continuity.commons"
// Uploads the signed artifacts
uploadArchives {
repositories {
mavenDeployer {
// check if necessary parameter exists
if (!project.hasProperty('sonatype.username') || !project.hasProperty('sonatype.password')) {
throw new GradleException('Credentials for Sonytype are missing.')
}
if (System.getProperty('RELEASE_VERSION') == null) {
throw new GradleException('The version of the library has to be specified. (Specified by "RELEASE_VERSION")')
}

beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) }
repository(url: "https://oss.sonatype.org/service/local/staging/deploy/maven2/") {
authentication(userName: project.property('sonatype.username'), password: project.property('sonatype.password'))
}
snapshotRepository(url: "https://oss.sonatype.org/content/repositories/snapshots") {
authentication(userName: project.property('sonatype.username'), password: project.property('sonatype.password'))
}
version = System.getProperty('RELEASE_VERSION')
pom.project {
name 'continuity.commons'
packaging 'jar'
description 'Commons library of ContinuITy. Provides common functionalities.'
url 'https://continuity-project.github.io/'
scm {
url "https://github.com/ContinuITy-Project/ContinuITy"
connection "scm:git:https://github.com/ContinuITy-Project/ContinuITy.git"
developerConnection "scm:git:[email protected]:ContinuITy-Project/ContinuITy.git"
}
issueManagement {
system 'jira'
url 'https://continuity-project.atlassian.net'
}
licenses {
license {
name 'The Apache Software License, Version 2.0'
url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
distribution 'repo'
}
}
developers {
developer {
id 'ContinuITy-team'
name 'The ContinuITy Research Team'
organizationUrl 'https://continuity-project.github.io/'
}
}
}
}
}
}
}
/**
* When closing or releasing the staging repository it has to be done using the full task name:
* > gradle :continuity.commons.java.sdk:<TASK>
*
* Note: Always use the 'closeAndReleaseRepository' in the Jenkins build process.
*/
if (gradle.startParameter.getTaskNames().contains(":continuity.commons:closeAndReleaseRepository")
|| gradle.startParameter.getTaskNames().contains(":continuity.commons:closeRepository")
|| gradle.startParameter.getTaskNames().contains(":continuity.commons:releaseRepository")) {
nexusStaging {
// check if necessary parameter exists
if (!project.hasProperty('sonatype.username') || !project.hasProperty('sonatype.password')) {
throw new GradleException('Credentials for Sonytype are missing.')
}
username = project.property('sonatype.username')
password = project.property('sonatype.password')
packageGroup = "com.github.continuity-project"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -63,8 +63,8 @@ public HttpEndpoint mapRespectingWildcards(String uri, String method) {

/**
* Maps the specified URI to an {@link HttpEndpoint} that has the same URI. First, the URI is
* tested for exact similarity (by calling {@link #mapExactly(String)} and then, if there is not
* exact match, wildcards are respected (by calling {@link #mapRespectingWildcards(String)}.
* tested for exact similarity (by calling {@link #mapExactly(String, String)} and then, if there is not
* exact match, wildcards are respected (by calling {@link #mapRespectingWildcards(String, String)}.
*
* @param uri
* The URI to be mapped.
Expand Down
Loading