106 lines
2.2 KiB
Groovy
106 lines
2.2 KiB
Groovy
////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// plugin configuration must precede everything else
|
|
//
|
|
|
|
plugins {
|
|
id 'com.github.hauner.jarTest' version '1.0.1' apply false
|
|
id 'de.undercouch.download' apply false
|
|
id 'nebula.lint' version '8.3.1'
|
|
}
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// common Java setup shared by multiple projects
|
|
//
|
|
|
|
version '1.4.4-SNAPSHOT'
|
|
|
|
subprojects { subproject ->
|
|
// skip generic Java setup for the few projects that have no Java code whatsoever
|
|
switch (subproject.name) {
|
|
case 'com.ibm.wala-repository':
|
|
case 'com.ibm.wala.cast.js.test.data':
|
|
case ~/.*_feature/:
|
|
return
|
|
}
|
|
|
|
apply plugin: 'java'
|
|
|
|
sourceCompatibility = 1.8
|
|
|
|
repositories {
|
|
mavenCentral()
|
|
maven {
|
|
url 'https://artifacts.alfresco.com/nexus/content/repositories/public/'
|
|
}
|
|
maven {
|
|
url 'https://repo.eclipse.org/content/groups/releases/'
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// find platform-specific SWT implementations
|
|
//
|
|
|
|
def osgi_platform
|
|
|
|
switch (System.getProperty('os.name')) {
|
|
case ~/Mac OS X/:
|
|
osgi_platform = 'cocoa.macosx.x86_64'
|
|
break
|
|
case ~/Windows.*/:
|
|
osgi_platform = 'win32.win32.x86_64'
|
|
break
|
|
case ~/Linux/:
|
|
osgi_platform = 'gtk.linux.x86_64'
|
|
break
|
|
}
|
|
|
|
System.setProperty('osgi.platform', osgi_platform)
|
|
|
|
subprojects {
|
|
configurations.all {
|
|
resolutionStrategy {
|
|
// failOnVersionConflict()
|
|
dependencySubstitution {
|
|
substitute module('org.eclipse.platform:org.eclipse.swt.${osgi.platform}') with module("org.eclipse.platform:org.eclipse.swt.${System.getProperty('osgi.platform')}:3.+")
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// optional lint checking of Gradle scripts
|
|
//
|
|
|
|
allprojects {
|
|
apply plugin: 'nebula.lint'
|
|
gradleLint.alwaysRun = false
|
|
gradleLint {
|
|
rules = ['all-dependency']
|
|
excludedRules = [
|
|
'duplicate-dependency-class',
|
|
'transitive-duplicate-dependency-class',
|
|
]
|
|
}
|
|
}
|
|
|
|
|
|
////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// disable Javadoc linter until documentation is in better shape
|
|
//
|
|
|
|
allprojects {
|
|
tasks.withType(Javadoc) {
|
|
options.addStringOption('Xdoclint:none', '-quiet')
|
|
}
|
|
}
|