diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 2070be7b42af38ca3337eaa78ffc5302e892363f..374a516f634847f6ad30cec17984fb9da6062496 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -4,9 +4,10 @@ variables: stages: - build - test + - publish build: - image: openjdk:8 + image: openjdk:11 stage: build before_script: - ls -lah * @@ -14,10 +15,18 @@ build: - ./gradlew assemble test: - image: openjdk:8 + image: openjdk:11 stage: test script: - ./gradlew test artifacts: reports: junit: relast2uml.tests/build/test-results/test/TEST-*.xml + +publish: + image: openjdk:11 + stage: publish + script: + - "./gradlew publish" + only: + - master diff --git a/buildSrc/src/main/groovy/relast2uml.java-publishing-conventions.gradle b/buildSrc/src/main/groovy/relast2uml.java-publishing-conventions.gradle new file mode 100644 index 0000000000000000000000000000000000000000..a161f5222cd3c407c9bc5059cece73b2670eb407 --- /dev/null +++ b/buildSrc/src/main/groovy/relast2uml.java-publishing-conventions.gradle @@ -0,0 +1,54 @@ +plugins { + id 'java' + id 'idea' + id 'com.github.ben-manes.versions' + id 'maven-publish' +} + +repositories { + mavenCentral() +} + +dependencies { + testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: "${jupiter_version}" + testImplementation group: 'org.assertj', name: 'assertj-core', version: '3.18.1' + testRuntimeOnly group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: "${jupiter_version}" +} + +tasks.named('test') { + useJUnitPlatform() +} + +//679 +publishing { + publications { + maven(MavenPublication) { +// artifactId = 'dumpAst | dumpAstWithPlantuml | grammar2uml' + groupId = 'de.tudresden.inf.st' + from components.java +// artifact("build/libs/ragconnect-${version}.jar") { +// extension 'jar' +// } + } + } + repositories { + maven { + url "https://git-st.inf.tu-dresden.de/api/v4/projects/679/packages/maven" + // Uncomment the following lines to publish manually (and comment out the other credentials section) +// credentials(HttpHeaderCredentials) { +// name = "Private-Token" +// value = gitLabPrivateToken // the variable resides in ~/.gradle/gradle.properties +// } + credentials(HttpHeaderCredentials) { + name = 'Job-Token' + value = System.getenv("CI_JOB_TOKEN") + } + authentication { + header(HttpHeaderAuthentication) + } + } + + } +} + +publish.dependsOn jar diff --git a/dumpAst/build.gradle b/dumpAst/build.gradle index 8cff5d0cb3a95d7211bd77647a94c50d7dc089e9..fed51c24c2a36ce7a0b8ded6d3994039453aadc2 100644 --- a/dumpAst/build.gradle +++ b/dumpAst/build.gradle @@ -8,6 +8,7 @@ buildscript { plugins { id 'relast2uml.java-jastadd-conventions' + id 'relast2uml.java-publishing-conventions' } apply plugin: 'jastadd' diff --git a/dumpAstWithPlantuml/build.gradle b/dumpAstWithPlantuml/build.gradle index 3909caaf05428be30b6edb36131432b613b0037f..9105efcaeb2c6bc166a140f04a98e53d2c787063 100644 --- a/dumpAstWithPlantuml/build.gradle +++ b/dumpAstWithPlantuml/build.gradle @@ -8,6 +8,7 @@ buildscript { plugins { id 'relast2uml.java-jastadd-conventions' + id 'relast2uml.java-publishing-conventions' } apply plugin: 'jastadd' diff --git a/grammar2uml/build.gradle b/grammar2uml/build.gradle index 53af6fb58a5743d0cc7eb98086bfb282e8057e0b..c13cd21e8298b8963c07a7ce47201f481717dbfe 100644 --- a/grammar2uml/build.gradle +++ b/grammar2uml/build.gradle @@ -9,6 +9,7 @@ buildscript { plugins { id 'relast2uml.java-jastadd-conventions' id 'relast2uml.java-application-conventions' + id 'relast2uml.java-publishing-conventions' } apply plugin: 'jastadd'