subprojects { apply plugin: 'java' apply plugin: 'idea' sourceCompatibility = 1.8 targetCompatibility = 1.8 version = '2016.1.0' jar { manifest.attributes provider: 'gradle' } // Use the 'vendor' configuration for specifying files. // // We don't use the standard 'compile', 'runtime', 'provided', because all // we want to do here is download on occasion into a local directory. // // Managed dependencies wreak havoc with our internal build practices at // Perforce. configurations { vendor plugin } repositories { mavenCentral() } // This task will download all transient dependencies declared in vendor // blocks. // // Third party libs already used in other projects should get excluded here. // task getdeps(type: Copy) { description 'Downloads vendor dependencies into local directory.' from configurations.vendor into "$projectDir/vendor" } task getplugins(type: Copy) { description 'Downloads plugin dependencies into local directories' from configurations.plugin into "$projectDir/plugins" } idea { module { downloadSources = true } } } apply plugin: 'distribution' apply plugin: 'java' distributions { main { baseName = 'helix-web-services' contents { from '.' exclude '**/build/**' exclude '.*' } } } distTar { compression = Compression.GZIP } task primaryBuild { description 'The first major build procedure that tests and produces most ' + 'pre-test deliverables, the source archive. Run documentation ' + 'tasks before this step.' dependsOn 'build', 'testing:runAll', 'install4j:media' } task wrapper(type: Wrapper) { gradleVersion = '2.11' }