// ---------------------------------------------------------------------------- // Licensed to the Apache Software Foundation (ASF) under one or more // contributor license agreements. See the NOTICE file distributed with // this work for additional information regarding copyright ownership. // The ASF licenses this file to You 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. // ---------------------------------------------------------------------------- // Wicket Gradle build file // // @author Juergen Donnerstag // ---------------------------------------------------------------------------- // A convenience method that calls the dependsOn method of the parent project // for every child project (not every sub project). It declares an execution // dependency on all children. dependsOnChildren() // For testing purposes /* def localReleaseRepo = new File("${System.properties.'user.home'}/local-gradle-repository/release").toURL().toString() def localSnapshotRepo = new File("${System.properties.'user.home'}/local-gradle-repository/snapshot").toURL().toString() */ // The root project is like a container and the subprojects method iterates // over the elements of this container - the projects in this instance, but // not deep subprojects - and injects the specified configuration. This way // we can easily define some common dependencies subprojects { prj -> apply plugin: 'java' apply plugin: 'maven' // apply plugin: 'code-quality' // apply plugin: 'project-reports' // Wicket Maven group and version group = 'org.apache.wicket' version = '1.5' if(!System.properties.'release') { version = version + '-SNAPSHOT' } /* gradle.taskGraph.whenReady {taskGraph -> if (taskGraph.hasTask(':release')) { version = '1.5' } else { version = '1.5-SNAPSHOT' } } */ // Subproject "wicket" is only used to build the uber jars. No need to have eclipse project files if (prj.name != "wicket") { apply plugin: 'eclipse' apply plugin: 'idea' // We don't need / want the WTP/WST natures and facets prj.eclipseProject.whenConfigured { p -> p.natures.removeAll 'org.eclipse.wst.common.project.facet.core.nature', 'org.eclipse.wst.common.modulecore.ModuleCoreNature', 'org.eclipse.jem.workbench.JavaEMFNature' p.buildCommands.removeAll { it.name.startsWith('org.eclipse.wst.') } } // No need to create .settings/org.eclipse.wst.* files either prj.tasks.all { if(it.name.contains('eclipseWtp')) { it.enabled = false }} // org.eclipse.jdt.core.prefs is provided via SVN. No need for gradle to modify them prj.tasks.all { if(it.name.contains('eclipseJdt')) { it.enabled = false }} prj.tasks.all { if(it.name.contains('cleanEclipseJdt')) { it.enabled = false }} } // Use maven output dir setBuildDir 'target' sourceCompatibility = 1.5 targetCompatibility = 1.5 compileJava.options.compilerArgs = ['-Xlint:unchecked', '-Xlint:deprecation', '-g'] // We have plenty of *.html, *.xml and *.properties files which we want to // copy/forward, like we do for *.java files. sourceSets.main.resources.srcDir 'src/main/java' sourceSets.test.resources.srcDir 'src/test/java' task packageTests(type: Jar) { from sourceSets.test.classes classifier = 'tests' } artifacts.archives packageTests task sourceJar(type: Jar) { from sourceSets.main.allSource; classifier = 'source' } task javadocJar(type: Jar) { from javadoc.outputs.files; classifier = 'javadoc' } artifacts { archives sourceJar, javadocJar } repositories { mavenLocal() mavenCentral() // Add the Apache snapshot maven repository mavenRepo urls: ["http://repository.apache.org/snapshots"] // mavenRepo urls: localReleaseRepo // mavenRepo urls: localSnapshotRepo } dependencies { compile "org.slf4j:slf4j-api:1.6.1" testCompile "org.slf4j:slf4j-log4j12:1.6.1" testCompile "org.slf4j:jcl-over-slf4j:1.6.1" compile("javax.servlet:servlet-api:2.5") { // Not available in any maven repo provided : true } testCompile "junit:junit:4.8.2" testCompile "org.mockito:mockito-all:1.8.5" } // TODO Should this maven config be per module or wicket "root" only?? configure(install.repositories.mavenInstaller) { pom.project { description = 'Wicket is a Java-based open source component web application framework.' url = 'http://wicket.apache.org/' inceptionYear = '2004' organization { name 'Apache Software Foundation' url 'http://apache.org' } licenses { license { name 'The Apache Software License, Version 2.0' url 'http://www.apache.org/licenses/LICENSE-2.0.txt' distribution 'repo' } } issueManagement { system 'jira' url 'http://issues.apache.org/jira/browse/WICKET' } ciManagement { system 'hudson' url 'https://hudson.apache.org/hudson/job/Apache%20Wicket%201.5.x/' } scm { connection 'scm:svn:http://svn.apache.org/repos/asf/wicket/releases/1.5-SNAPSHOT' developerConnection 'scm:svn:https://svn.apache.org/repos/asf/wicket/releases/1.5-SNAPSHOT' url 'http://svn.apache.org/viewvc/wicket/releases/1.5-SNAPSHOT' } mailingLists { mailingList { name 'Wicket Announcements List' post 'announce@wicket.apache.org' subscribe 'announce-subscribe@wicket.apache.org' unsubscribe 'announce-unsubscribe@wicket.apache.org' archive 'http://www.nabble.com/Wicket---Announce-f13975.html' } mailingList { name 'Wicket User List' post 'users@wicket.apache.org' subscribe 'users-subscribe@wicket.apache.org' unsubscribe 'users-unsubscribe@wicket.apache.org' archive 'http://www.nabble.com/Wicket---User-f13976.html' } mailingList { name 'Wicket Development List' post 'dev@wicket.apache.org' subscribe 'dev-subscribe@wicket.apache.org' unsubscribe 'dev-unsubscribe@wicket.apache.org' archive 'http://www.nabble.com/Wicket---Dev-f13977.html' } mailingList { name 'Wicket commit List' subscribe 'commits-subscribe@wicket.apache.org' unsubscribe 'commits-unsubscribe@wicket.apache.org' archive 'http://mail-archives.apache.org/mod_mbox/wicket-commits/' } } properties { 'project.build.sourceEncoding' 'UTF-8' 'project.reporting.outputEncoding' 'UTF-8' } } } }