// ---------------------------------------------------------------------------- | |
// 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' | |
} | |
} | |
} | |
} |