mirror of
https://github.com/corda/corda.git
synced 2024-12-21 05:53:23 +00:00
1e12aebe0a
* Skeleton plugin. * Implement Gradle api-scanner plugin, and apply it. * Generate API documentation for any jar without a classifier. * Fix usage of smokeTests classifier. * Tweak Gradle API usage. * Upgrade to fast-classpath-scanner 2.7.0 * Include interfaces and more modifiers in the class description. * Allow system classes to be supertypes and implemented interfaces. * Make API Scanner plugin configuration tweakable via build.gradle. * Add a miserable amount of unit testing. * Sort methods and fields using their natural comparators. Way easier! * Add README for api-scanner plugin. * Add @OutputFiles to ScanApiTask. * Rename ScanApiTask to ScanApi. * Allow the ScanApi task to be disabled. * WIP: Create a top-level GenerateApi task to collate the ScanApi output. * Exclude package-private classes, as well as bridge/synthetic methods. * Replace "End of Class" delimiter with '##'. * Don't scan modules whose API is still "in flux". * Include constructors in the API definitions. * Finish implementation of GenerateApi task. * Update README to include GenerateApi task. * Filter out Kotlin's "internal" methods. * Assign "fatjar" classifier to the fat jar artifact. * Enhance README for GenerateApi. * Explain effect of api-scanner plugin, and link to Corda's API strategy. * Tweak README * Exclude synthetic Kotlin classes by analysing @Metadata. * Allow us to exclude some classes explicitly from the API.
68 lines
1.5 KiB
Groovy
68 lines
1.5 KiB
Groovy
buildscript {
|
|
// For sharing constants between builds
|
|
Properties constants = new Properties()
|
|
file("$projectDir/../../constants.properties").withInputStream { constants.load(it) }
|
|
|
|
ext.kotlin_version = constants.getProperty("kotlinVersion")
|
|
|
|
repositories {
|
|
mavenCentral()
|
|
}
|
|
|
|
dependencies {
|
|
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
|
}
|
|
}
|
|
|
|
apply plugin: 'groovy'
|
|
apply plugin: 'kotlin'
|
|
apply plugin: 'net.corda.plugins.publish-utils'
|
|
|
|
description 'A small gradle plugin for adding some basic Quasar tasks and configurations to reduce build.gradle bloat.'
|
|
|
|
repositories {
|
|
mavenCentral()
|
|
}
|
|
|
|
configurations {
|
|
noderunner
|
|
compile.extendsFrom noderunner
|
|
}
|
|
|
|
sourceSets {
|
|
runnodes {
|
|
kotlin {
|
|
srcDir file('src/noderunner/kotlin')
|
|
compileClasspath += configurations.noderunner
|
|
}
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
compile gradleApi()
|
|
compile localGroovy()
|
|
|
|
noderunner "org.jetbrains.kotlin:kotlin-stdlib-jre8:$kotlin_version"
|
|
|
|
compile project(':cordform-common')
|
|
}
|
|
|
|
task createNodeRunner(type: Jar, dependsOn: [classes]) {
|
|
manifest {
|
|
attributes('Main-Class': 'net.corda.plugins.NodeRunnerKt')
|
|
}
|
|
classifier = 'fatjar'
|
|
from { configurations.noderunner.collect { it.isDirectory() ? it : zipTree(it) } }
|
|
from sourceSets.runnodes.output
|
|
}
|
|
|
|
jar {
|
|
from(createNodeRunner) {
|
|
rename { 'net/corda/plugins/runnodes.jar' }
|
|
}
|
|
}
|
|
|
|
publish {
|
|
name project.name
|
|
}
|