apply plugin: 'java' apply plugin: 'eclipse' /* * The shared configuration for all sub-projects: */ subprojects { apply plugin: 'java' apply plugin: 'eclipse' apply plugin: 'maven' apply plugin: 'maven-publish' // java compatibility version sourceCompatibility = 1.8 configurations { tests } // the repositories for external depenencies repositories { mavenCentral() jcenter() } uploadArchives { repositories { mavenDeployer { if (!project.hasProperty('mavenDeployRepo')){ throw new IllegalStateException("Set the property 'mavenDeployRepo' to the repository URL. A good place is ~/.gradle/gradle.properties") } repository(url: "${mavenDeployRepo}") println "publishing to: ${mavenDeployRepo}" } } } task sourcesJar(type: Jar, dependsOn: classes) { classifier 'sources' from sourceSets.main.allSource } artifacts { archives sourcesJar } // dependencies that all sub-projects have dependencies { testCompile group: 'junit', name: 'junit', version: '4.12' } } task wrapper(type: Wrapper) { gradleVersion = '4.4.1' }