Skip to content

Commit

Permalink
fix: automatically add tasks that produce releaseAssets as dependencies
Browse files Browse the repository at this point in the history
refs #13
  • Loading branch information
tschulte committed Aug 11, 2016
1 parent 52a5e01 commit 93d21f6
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,12 @@ class SemanticReleasePluginExtension {
@Inject
SemanticReleasePluginExtension(Project project) {
this.project = project
changeLog = new SemanticReleaseChangeLogService(project.grgit, project.release.tagStrategy, project.&files)
def files = { Object[] args ->
if (args)
project.tasks.release.dependsOn args
project.files(args)
}
changeLog = new SemanticReleaseChangeLogService(project.grgit, project.release.tagStrategy, files)
releaseBranches = new SemanticReleaseCheckBranch()
branchNames = new SemanticReleaseAppendBranchNameStrategy(releaseBranches)
semanticStrategy = new SemanticReleaseNormalStrategy(project.grgit, changeLog)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
package de.gliderpilot.gradle.semanticrelease

import nebula.test.ProjectSpec
import org.gradle.api.tasks.bundling.Jar

/**
* Created by tobias on 7/2/15.
Expand Down Expand Up @@ -167,18 +168,36 @@ class SemanticReleasePluginSpec extends ProjectSpec {
}

def "can define releaseAssets"() {
when:
given:
project.with {
apply plugin: PLUGIN
apply plugin: 'java'
tasks.create(name: "sourcesJar", type: Jar) {
classifier = 'sources'
from sourceSets.main.allSource
}
tasks.create(name: "javadocJar", type: Jar) {
classifier = 'javadoc'
from javadoc
}
semanticRelease {
changeLog {
releaseAssets jar
releaseAssets jar, sourcesJar, javadocJar
}
}
}

when:
List<File> releaseAssets = project.semanticRelease.changeLog.releaseAssets.toList()

then:
project.semanticRelease.changeLog.releaseAssets.toList().containsAll(project.jar.outputs.files.files)
releaseAssets.containsAll(project.jar.outputs.files.files)
releaseAssets.containsAll(project.sourcesJar.outputs.files.files)
releaseAssets.containsAll(project.javadocJar.outputs.files.files)

and: "task dependencies are automatically added"
project.tasks.release.dependsOn.contains(project.jar)
project.tasks.release.dependsOn.contains(project.sourcesJar)
project.tasks.release.dependsOn.contains(project.javadocJar)
}
}

0 comments on commit 93d21f6

Please sign in to comment.