/** * Copyright 2010 Wealthfront Inc. Licensed 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. */ package com.kaching.platform; import org.junit.runner.RunWith; import com.kaching.platform.testing.DependencyTestRunner; import com.kaching.platform.testing.DependencyTestRunner.CheckPackage; import com.kaching.platform.testing.DependencyTestRunner.Dependencies; @RunWith(DependencyTestRunner.class) @Dependencies( minClasses = 10, forPackages = { "com.kaching.platform.*" }, ensure = { @CheckPackage(name = "com.kaching.platform.*", mayDependOn = { "java.*", "com.google.common.*" }), @CheckPackage(name = "com.kaching.platform.converters", mayDependOn = { "org.objectweb.asm.*", "org.apache.commons.logging", // TODO(adam): remove "com.google.inject.*", "com.kaching.platform.common.*" }), @CheckPackage(name = "com.kaching.platform.common.logging", mayDependOn = { "com.kaching.platform.common", "org.perf4j.commonslog", "org.apache.commons.logging", "org.apache.log4j" }), @CheckPackage(name = "com.kaching.platform.common.values", mayDependOn = { "com.kaching.platform.common" }), @CheckPackage(name = "com.kaching.platform.guice", mayDependOn = { "com.google.inject.*", "com.kaching.platform.common.types" }), @CheckPackage(name = "com.kaching.platform.hibernate.types", mayDependOn = { "org.hibernate.*", "org.apache.commons.logging", // TODO(adam): remove // internal "com.kaching.platform.converters" }), @CheckPackage(name = "com.kaching.platform.testing", mayDependOn = { "jdepend.framework", "junit.*", "org.junit.*", // internal "com.kaching.platform.common", "com.kaching.platform.common.logging" }), @CheckPackage(name = "com.kaching.platform.util", mayDependOn = { // nothing }) }, binDirectories = { "bin", "target/bin", "target/bin-testing" } ) public class DependencyTest { }