blob: a57eec38caa169a7bc93ad10eddd1ce2da671628 [file] [log] [blame]
/*
* Copyright (c) 2012, Paul Merlin. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* http://www.apache.org/licenses/LICENSE-2.0
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
* either express or implied.
* See the License for the specific language governing permissions
* and limitations under the License.
*/
import org.gradle.api.Project
import org.gradle.api.Plugin
class AsciidocBuildInfo implements Plugin<Project>
{
final static TASK_NAME = 'makeAsciidocBuildInfo'
AsciidocBuildInfo()
{
}
def void apply( Project project )
{
def buildInfoDir = new File( project.buildDir, "docs/buildinfo" );
def makeAsciidocBuildInfoTask = project.task( TASK_NAME ) << {
buildInfoDir.mkdirs()
// GroupID, ArtifactID, Version table in artifact.txt
def artifactTableFile = new File( buildInfoDir, "artifact.txt" )
def artifactTable = """
|.Artifact
|[role="artifact", options="header,autowidth"]
||===================================================
||Group ID|Artifact ID|Version
||${project.group}|${project.name}|${project.version}
||===================================================
""".stripMargin()
artifactTableFile.withWriter { out -> out.println( artifactTable ) }
}
// Declare inputs/outputs
if( project.getBuildFile() != null && project.getBuildFile().exists() )
{
makeAsciidocBuildInfoTask.getInputs().files(project.getBuildFile())
}
makeAsciidocBuildInfoTask.getOutputs().files( buildInfoDir )
}
}